前回、検索エンジンフレンドリーの URL 設計について書きました。私はこの問題に苦労していて、http: //www.myhost.com/foo.php ?a=A&b=B&c=C -> http:/を実現したいと考えていました。 /www. myhost.com/foo.php/a/A/b/B/c/C の URL を変換するにはさまざまな方法があります。
たとえば、仮想ホストを使用しており、URL を最適化したいと考えています。サーバーに権限がない
場合は、Apache の場合は URL http://www.myhost.com/foo.php/a/A/b/B/c/Cにアクセスするときに
PATH_INFO から開始できます。AllowPathinfo がオンになっているので、php Access $_SERVER['PATH_INFO'] を使用して文字列 a/A/b/B/c/C を取得し、次に php を使用してそれを解析します。
PLAIN TEXTPHP:
if(!empty($) _SERVER['PATH_INFO'])) {
$paths =explode('/', substr($_SERVER['PATH_INFO'], 1));
for($i = 0, $cnt = count($paths); $i <$cnt; $i++)
$_GET[$paths[$i]] = @(文字列)$paths[++$i];
この
http://www.myhost.com/foo.php?a=A&b=B&c=C
の利点もあります。
http://www.myhost.com/foo.php/a/A/b/B/c/C
上記の URL には同時にアクセスできるため、汎用性が確保されています。