通过 htaccess 发送 404 错误?

Posted

技术标签:

【中文标题】通过 htaccess 发送 404 错误?【英文标题】:Send a 404 error via htaccess? 【发布时间】:2013-09-14 20:34:51 【问题描述】:

我想切断对我网站上子目录的访问,但我希望子目录中的任何访问都成为 404 错误,而不是 403 禁止。这如何实现?

【问题讨论】:

重定向到一个不存在的目录应该这样做...使用重写规则 【参考方案1】:

试试:

RewriteRule ^directory/ - [L,R=404]

这会重定向文件夹“/directory/”的所有请求,它们会得到 404 响应。

【讨论】:

连同这个404状态,我们可以显示404.html页面的内容吗? php 和 css/html 怎么样,还能访问文件夹吗? 我在日志中得到 500 而不是 404 你打开了 mod_rewrite 吗?【参考方案2】:

我认为,410 错误更好

RewriteRule ^directory/ - [L,R=410]

或我的搜索:

RewriteCond %HTTP_USER_AGENT (googlebot|bingbot|Baiduspider) [NC]
RewriteRule .* - [R=410,L]

on russian wiki

404 Not Found [19] - 使用互联网时最常见的错误,主要原因 - 写入网页地址时出错。服务器理解了请求,但没有在指定的 URL 找到相应的资源。如果服务器知道该地址有一个文档,那么它最好使用代码 410。如果您需要小心地隐藏某些资源以防窥探,则可以使用答案 404 代替 403。出现在 HTTP/1.0 中。

【讨论】:

【参考方案3】:

您还可以暂时更改用户在遇到 403 错误时将看到的页面,但我不建议长期这样做。

.htaccess:

ErrorDocument 403 /your404pagehere.php

【讨论】:

以上是关于通过 htaccess 发送 404 错误?的主要内容,如果未能解决你的问题,请参考以下文章

htaccess 文件不会带我进入 404 错误页面

htaccess 重写规则 404 错误

.htaccess文件的常见用法(301、404等配置)

WordPress 404 模板覆盖我的 .htaccess 设置以解决 404 错误?

如何使用 .htaccess 将错误 404 重定向到主页?

htaccess:尝试 ErrorDocument 时出现 404 Not Found 错误