如何在404错误期间删除重定向循环

时间:2014-04-10 12:03:23

标签: apache .htaccess mod-rewrite

我正在使用以下htaccess文件来删除.php扩展名并在网址末尾添加尾部斜杠。它工作正常。

但问题是,在将此htaccess文件添加到我的网站后,它会在任何404错误上提供重定向循环。

此外,如果我添加ErrorDocument 404 anypage.php,那么它会给出500个内部服务器错误。

有没有办法解决这些问题并获得具有以下功能的正确htaccess文件。

删除.php扩展名
添加尾部斜线
成功重定向到主页404错误

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L]    
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule . %{REQUEST_URI}/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

0 个答案:

没有答案