.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 页面