1

単一のエントリポイントを持つアプリケーションがあります。そのアプリケーションには、次の行があります。

$url = !empty($_SERVER["PATH_INFO"]) ? $_SERVER["PATH_INFO"] : "/";

これにより、次のようにアクセスするときに URL を処理できます。

http://localhost/index.php/controller/action?get=variables

index.phpすべて順調ですが、私は OCD です。URL の一部を削除したいと考えています。そして、何を試しても、期待どおりには機能しませんでした。

RewriteRule ^(.+)$ /index.php/$1 [L]
#or
RewriteRule ^([^.]+)$ /index.php/$1 [L]

それらのいくつかは、nginx エラー ログ (書き換えが多すぎる) でループ エラーを生成し、一部はまったく機能しません。

私はここで立ち往生しています。このような URL を正常に書き換えるにはどうすればよいですか? Apache ではなくNginx を使用していることに注意してください) 。

4

1 に答える 1

1

否定先読み。

RewriteRule ^(?!index\.php)(.*)$ /index.php/$1 [L]
于 2013-07-05T07:27:53.070 に答える