RewriteEngine on
RewriteCond %{HTTP_HOST} ^en.example.com$ [NC]
RewriteRule ^(.*)$ $1?lang=en [QSA]
としてen.example.comのサブドメインでアクセスした際、全てのファイルにパラメータlangを付与したいと思っています。通常のファイルに対しては成功したのですが、PHPの$_SERVER['PATH_INFO']を利用して動的URLを静的URLに変更しているファイルに対してはエラーが発生してしまいます。
mod_rewriteと$_SERVER['PATH_INFO']を両立させる方法はありますでしょうか?
それとも、$_SERVER['PATH_INFO']をやめて全てをmod_rewriteにしなければならないのでしょうか?
$_SERVER['PATH_INFO'] でURL部分、そして、
$_SERVER['QUERY_STRING'] でクエリー部分が取れますので、
組み合わせて使うと良いでしょう
$_SERVERのマニュアル
http://php.net/manual/ja/reserved.variables.server.php
$_SERVER['PATH_INFO'] がどのような値を返すか確認しました?
2011/12/08 19:51:08例えば www.example.com/aaa.php では何も返しません
www.example.com/bbb/aaa.php であれば bbb を返します
お返事ありがとうございます。
2011/12/09 09:40:07$_SERVER['PATH_INFO']の部分は問題なく取得できています。
とりあえずは全てをmod_rewriteで書き換えることで、
目的は達成できたのでその方法で行こうかと思っています。
お手間をおかけしました。