0

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

例如。

我有以下规则:

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

当有人尝试访问像 index/something-add-by-user/ 这样的地址时,他会看到 404 页面,但 url 仍然是“index/something-added-by-user/”。有没有办法自动从用户输入的 url 重定向到 url “error-404/”?所以当他像上面那样输入 url 时,他会看到 404 页面和 404 页面 url。

4

1 回答 1

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 状态。

于 2013-07-23T16:55:14.190 回答