📅  最后修改于: 2023-12-03 15:24:57.630000             🧑  作者: Mango
在 .htaccess 文件中,我们经常会配置一些 URL 重定向或者隐藏操作。但是有时候,我们可能会想要阻止某些 URL 的访问。本文介绍一些针对 .htaccess 中 URL 的阻止方法。
使用 RewriteRule 是较为常见的阻止 URL 访问的方式之一。
RewriteEngine On
RewriteRule ^blocked-url\.html$ - [F,L]
RewriteEngine On 表示开启重写引擎
RewriteRule 指明重写规则
^blocked-url.html$ 指明需要阻止的 URL
模块 mod_setenvif 可以设置环境变量。我们可以使用它来阻止 URL 访问。
SetEnvIf Request_URI "^/blocked-url\.html$" block
Deny from env=block
SetEnvIf 根据 URL 匹配规则设置一个环境变量
"^/blocked-url.html$" 是需要拦截的 URL 匹配规则
block 是设置的环境变量名
Deny from env=block 表示基于环境变量拒绝访问
<Location "/blocked-url">
Order Allow,Deny
Deny from all
</Location>
Location "/blocked-url" 是需要拒绝访问的 URL
Order Allow,Deny 表示先允许,后拒绝
Deny from all 表示全部拒绝
以上三种方法实现的效果一样,都可以阻止 .htaccess 中指定的 URL 访问。使用时可以根据实际需要选择其中的一种。
参考链接: