我知道如何从.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直到它消失了吗?
非常感谢, 菲尔
答案 0 :(得分:1)
嗯。很奇怪人们实际上要求那种URI。
尝试一下:
RewriteRule ^(.*)\/index\.php$ $1 [R=301,L,NC]
这应该重复删除index.php
末尾的所有REQUEST_URI
提及,并重定向到正确的提及。但请注意,它会在每次重定向直到它消失为止。
还要注意,我还没有测试过,因为我的电脑目前还没有工作(虽然规则看起来基本足以分享)。如果您遇到任何问题,请告诉我。