404页面被重定向到htaccess中的主页

时间:2013-02-15 16:11:26

标签: .htaccess redirect http-status-code-404

我的htaccess中有这个

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
</IfModule>

网站需要这样才能正常运行。当我放置一个不正确的网址(不存在的网页)时,它会将我重定向到主页?我想改为显示我的404页面?

1 个答案:

答案 0 :(得分:0)

如果您的404页面是实际文件(例如/404.html),那么该规则应该按原样运行,因为它指定不将其应用于现有文件。如果您的404页面是虚拟的,那么您需要添加RewriteCond来排除它。例如,如果404页面真的是/index.php?error,您可以在RewriteRule前添加以下RewriteCond,根据需要更新查询字符串:

RewriteCond %{QUERY_STRING} !^error

或者,您可以为您的php / CMS代码创建一个真正的404.html页面,在这种情况下原始规则应该没问题。