我们目前有一个 .htaccess 文件,如下所示
<Limit GET POST>
order deny, allow
deny from all
allow from localhost
allow from ...
</Limit>
目前这适用于整个目录。我想从这些规则中排除目录中的一个文件,以便可以从整个互联网访问它。有什么想法吗?
答案1
(我不确定Limit
此处指令的目的是什么。它允许所有客户端使用这些 HTTP 方法:PUT、DELETE、CONNECT、OPTIONS、PATCH、PROPFIND、PROPPATCH、MKCOL、COPY、MOVE、LOCK 和 UNLOCK。您难道不希望限制所有方法,而不仅仅是 GET 和 POST 吗?)
您可以像这样使用Files
(或FilesMatch
) 指令:
<Files "foo.html">
allow from all
</Files>
答案2
使用 mod_rewrite 和 [F] 标志:
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !127.0.0.1
RewriteCond %{REMOTE_ADDR} !192.168.0.1
RewriteRule !^foo$ - [F]