htaccess - 如果规则不存在,则重定向

时间:2013-07-23 16:31:00

标签: .htaccess mod-rewrite

我想问一下 - 当重写规则不存在时,有没有办法使用httacces条件自动重定向?

例如。

我有以下规则:

 RewriteRule ^/index/$ index.php
 RewriteRule ^/error-404/$ 404.php
 ErrorDocument 404 /error-404/

如果某人尝试访问地址,例如索引/某些用户添加的内容/他将看到404页面,但网址仍然是“索引/某事物添加的用户/”。有没有办法自动从用户输入的网址重定向到网址“error-404 /”?因此,当他像上面那样输入网址时,他会看到404页面有404页面网址。

1 个答案:

答案 0 :(得分:0)

可以使用此规则来完成:

# not a real dir
RewriteCond %{REQUEST_FILENAME} !-d
# not a real file
RewriteCond %{REQUEST_FILENAME} !-f
# not a real link
RewriteCond %{REQUEST_FILENAME} !-l
# redirect it to 404.php
RewriteRule ^ /404.php [R,L]

但请记住,浏览器不会获得200状态而不是404状态。