是否可以让 Apache 使用 Location 标签自动为单个 URL 返回 404 页面?
<Location "/some/url">
# ???
</Location>
最好使用没有 mod_rewrite 或任何其他模块的解决方案。
答案1
“没有任何模块”的唯一解决方案是不存在资源。如果位置不存在,那么 Apache 将返回 404。
否则,您将需要使用 mod_alias 或 mod_rewrite。mod_alias 是更简单、更有效的解决方案:
Redirect 404 /your/url/path
您可以在 vhost 内部使用它,无需将其放在位置块中。
RedirectMatch
如果您不想匹配以下 URL,也可以使用指令/your/url/path
:
RedirectMatch 404 ^/your/url/path$
更多内容可参见mod_alias 文档
答案2
显然,您可以使用它RewriteRule
来实现这一点(确保您的 RewriteEngine 已启用):
RewriteRule ^/forbidden_ /nonexistent [L]
这些信息来自“对特定 URL 返回 404?“在 Apache 邮件列表档案中。