これが私のシナリオです。アプリケーションの URL は次のように表示されます。
example.com/index.php/article/whatever/here
URL から index.php を削除するために、これを .htaccess に入れ、正常に動作します。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
さて、私の問題は、次のような include と admin.php があることです。
example.com/admin.php/manage/whatever/here
また、index.php と競合せずに URL から admin.php を削除する方法がわかりません。これを試してみたところ、500 Internal Server Error が表示されたためです。
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteRule ^(.*)$ /admin.php/$1 [L]
編集
404エラーが表示されるため、別の試みはこれで何もありませんでした:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*?)/(.*) /$1/$2 [L]
私のすべての URL には、必要に応じていくつかのパラメーターが必要です。
example.com/this/is/a/large/url/because/is/requiered
編集2:
2 つのルールを作成しましたが、各ルールだけでも問題なく動作します!!! ただし、両方を一緒に使用することはできません:
RewriteRule ^admin/(.*)$ /admin.php/$1 [L]
RewriteRule ^(.*)$ /index.php/$1 [L]