0

.htaccessのルールからindex.phpを削除する方法を知っています:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

しかし、404ログにこれが表示されたときにどうすればよいかわかりません。

video/index.php 
video/index.php/index.php 
video/index.php/index.php/index.php 
video/index.php/index.php/index.php/index.php 

それぞれを綴る必要なしにこれらすべてを削除する方法はありますか?書き換えルールをループして、index.phpがなくなるまで削除し続けることができますか?

どうもありがとう、フィル

4

1 に答える 1

1

うーん。人々が実際にその種のURIを要求するのは奇妙です。

これを試してみてください:

RewriteRule ^(.*)\/index\.php$ $1 [R=301,L,NC]

index.phpこれにより、の末尾から言及が繰り返し削除REQUEST_URIされ、正しいものにリダイレクトされます。ただし、なくなるまで毎回リダイレクトされることに注意してください。

また、私のPCは現在機能していないため、まだテストしていません(ただし、ルールは共有するのに十分基本的なようです)。問題が発生した場合はお知らせください。

于 2013-03-25T15:45:51.020 に答える