如何从Apache限制指令中排除文件

我们目前有一个.htaccess文件,看起来像

<Limit GET POST> order deny, allow deny from all allow from localhost allow from ... </Limit> 

这适用于整个目录。 我想从这些规则中排除目录中的一个文件,以便它可以从整个Internet访问。 有任何想法吗?

(我不确定这个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> 

使用mod_rewrite和[F]标志:

 RewriteEngine On RewriteCond %{REMOTE_ADDR} !127.0.0.1 RewriteCond %{REMOTE_ADDR} !192.168.0.1 RewriteRule !^foo$ - [F]