[英].htaccess redirect to index.php - 404 error not working
我正在尝试为我的网站设置 .htaccess。 如果输入了错误的 url 地址,我想将用户重定向到 index.php。 但是,当我输入错误的 url 时,它不会将我重定向到 index.php,但会向我显示错误(尝试使用 ErrorDocument 时遇到 Not Found 404 错误)。
我的 .htaccess 文件
Options -Indexes
DirectoryIndex index.php
<IFModule mod_rewrite.c>
RewriteEngine On
RewriteBase /rop/
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([A-Za-z0-9-\/&_]+)/?$ index.php?etc=$1 [L]
</IfModule>
<Files config.php>
deny from all
</Files>
ErrorDocument 404 /index.php
ErrorDocument 403 /rop/pages/error/403.html
感谢帮助。
你使用本地主机吗? 这对我来说是工作。
ErrorDocument 404 http://localhost/[your folder name]/index.php
这是由于您的重写规则和ErrorDocument
指令相互ErrorDocument
。
你的重写规则是这样的:
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([A-Za-z0-9-\/&_]+)/?$ index.php?etc=$1 [L]
这基本上意味着:
如果请求不是针对文件/目录(未找到),则转发到index.php?etc=<uri>
。
现在你也有这样的ErrorDocument
指令:
ErrorDocument 404 /index.php
如果未找到某些内容,则转发到/index.php
。
PS:您的正则表达式在重写规则中也不正确。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.