ethna アプリケーションを
http://www.domain/index.php?action_F=0&p=0123
↓
http://www.domain/exe/F/0123
http://www.domain/index.php?action_A=0&e=456
↓
http://www.domain/exe/A/456
http://www.domain/index.php?action_E=0&e=789
↓
http://www.domain/exe/E/789
で動作させる。
●mod_rewite
●PHP5限定?PEARのNet_URL_Mapper
には依存しない。
●シェルを使えないレンタルサーバーを考慮しシンボリックリンクを張らない。
これを実現する必要最小限の方法は次のとおり。
http://www.domain/index.php?action_F=0&p=0123
↓
http://www.domain/exe/F/0123
http://www.domain/index.php?action_A=0&e=456
↓
http://www.domain/exe/A/456
http://www.domain/index.php?action_E=0&e=789
↓
http://www.domain/exe/E/789
で動作させる。
●mod_rewite
●PHP5限定?PEARのNet_URL_Mapper
には依存しない。
●シェルを使えないレンタルサーバーを考慮しシンボリックリンクを張らない。
これを実現する必要最小限の方法は次のとおり。
各ディレクトリの .htaccess ファイルの設定を有効とする為
apache1.3系なら
/etc/httpd/conf/httpd.conf
apache2系なら
/etc/apache2/conf/httpd.conf
で
AllowOverride All
とする。
エントリーポイントを配置するディレクトリの .htaccess ファイル
ethna のデフォルトのエントリーポイントファイル "index.php" を "exe" にリネームし$_SERVER['URL_HANDLER']を追加
APPID_UrlHandler.php
さらに、同じく APPID_UrlHandler.php で
APPID/etc/APPID-ini.php で
としてsmartyテンプレートで
{url action="F" p=$form.p}
{url action="A" e=$form.e}
{url action="E" e=$form.e}
とすれば、それぞれ
http://www.domain/exe/F/0123
http://www.domain/exe/A/456
http://www.domain/exe/E/789
に展開され、テンプレートへEthna_AppObjectをアサインし
{url action="F" p=$appObj->get('p')}
とすることも可能。
-------------------------
レンタルサーバーAbleNet
Vine Linux 4.2 (Lynch Bages)
PHP Version 4.4.8
Apache/1.3.41 (Unix) (Vine/Linux) PHP/4.4.8
Vine Linux 4.2 (Lynch Bages)
PHP Version 5.2.9
Apache/2.2.3 (Unix)