我不确定这里的错误是什么,但我无法将404错误重定向到特定页面。这就是.htaccess的样子:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteRule ^(.+) index.php
ErrorDocument 404 http://www.someurl.com/error404/404.php
错误文件夹和文件存在,当我执行curl -i http://www.someurl.com/notexistent
时,它会返回正确的404错误代码。但是没有重定向,也没有卷曲,也没有在浏览器中。怎么可能?
对不起,我不是这些.htaccess配置的专家,非常感谢帮助。
编辑1: 我尝试了不同的网址:
ErrorDocument 404 http://www.someurl.com/error404/
ErrorDocument 404 /error404/404.php
ErrorDocument 404 /error404/
但没有成功。
编辑2: 我忘了提到:mod_rewrite按预期工作。只有404重定向不起作用。
答案 0 :(得分:0)
使用RewriteRule
,您将没有真实文件或文件夹的所有网页重写为index.php
,404错误没有例外......
尝试:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php? [L,R=404]