書き換えルールを作成したいので
www.example.com/whatever/here
マップしますか
www.example.com/index.php/whatever/here
だからそれ$_SERVER['PATH_INFO']
が利用可能です。そのために、次のルールセットを作成しました。
RewriteEngine On
RewriteCond {%REQUEST_FILENAME} !-f
RewriteCond {%REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
これだけで500サーバーエラーが発生します。Apacheエラーログには次のように記載されています
[Sun Sep 30 17:23:08.758705 2012] [core:error] [pid 2584:tid 1704] [client :: 1:58591] AH00124:設定エラーの可能性があるため、リクエストが10の内部リダイレクトの制限を超えました。必要に応じて、「LimitInternalRecursion」を使用して制限を増やします。'LogLevel debug'を使用して、バックトレースを取得します。
しかし、私は再帰を見ることができません。私がそれを試してみるとき、クエリを考えてみましょう:
RewriteRule ^(.*)$ index.php?route=$1
期待どおりに動作し$_SERVER['PATH_INFO']
ますが、使用できません。
また、誰かが尋ねる前に、$_SERVER['PATH_INFO']
私はそのように、私は次のような複雑なパスを持つことができるので欲しいです:
www.example.com/controller/action/data?more=data
必要な場合。