.htaccess 重定向到 404 页面 RewriteRule

Posted

技术标签:

【中文标题】.htaccess 重定向到 404 页面 RewriteRule【英文标题】:.htaccess redirect to 404 page RewriteRule 【发布时间】:2011-12-05 17:26:48 【问题描述】:

如果输入或到达某个文件夹/url 路径,是否有办法在 htaccess 文件中输入 RewriteRule 以重定向到 404 页面?

例如,如果我希望每个用户在到达以下位置时都被重定向到 404 页面: www.mydomain.com/abc 或 www.mydomain.com/abc/ 或“abc”之后的任何内容,即使该文件夹确实存在,我也不希望用户能够访问它。如果他们确实到达了它,我希望他们看到 404 错误页面。 * 请注意,我不是要设置自定义 404 错误页面,而是要寻找一种重定向到默认 404 页面的方法。

我该怎么做?有可能吗?

RewriteRule ^abc/(*)?$ [R=404,L]

我怎样才能在 php 中做同样的事情,重定向到 404 错误页面?再一次,我不是在谈论设置自定义 404 页面,而是在谈论默认的 404 页面,只是使用 php 将用户重定向到 404 错误页面。

【问题讨论】:

您无法删除或重命名文件夹? 是的,我可以,但我不想。这是为了安全问题。 您没有找到自定义页面? htaccess 在文件夹 abc 中使用 "deny from all" 您是否尝试过更改权限以使 apache 用户无法读取 /abc/ 中的页面,从而阻止公众访问这些页面? 【参考方案1】:

您可以使用RedirectMatch 指令来代替mod_rewrite

RedirectMatch 404 ^/abc/.*$

【讨论】:

RedirectMatch 404 "/abc*" 完成了这项工作。感谢您的建议。 @Michal Wojciechowski 嗨!我使用您的解决方案来阻止访问 maindomain.com/addon.com。您知道是否可以使用它来阻止访问 addon.maindomain.com ?请参阅我的问题***.com/questions/51268061/…。谢谢【参考方案2】:

我在我的网站上做了这个:

RewriteRule ^404/?$ 404.php
ErrorDocument 404 http://www.example.com/404/

我在我网站的根目录上放置了一个404.php 页面来自定义该页面。

【讨论】:

以上是关于.htaccess 重定向到 404 页面 RewriteRule的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 不重定向到 404.php 而是显示页面名称

使用 .htaccess 重定向 404 而不重定向尾部斜杠

使用 .htaccess 和正则表达式重定向损坏的 404 页面

使用 .htaccess 文件后,从我网站上的一个页面重定向到另一个页面会导致 404 错误

htaccess 301 与重定向 404

htaccess 将所有页面重定向到单个页面