我怎样才能启用Indexes
只为特定的IP地址?
一般来说,我想要禁用目录列表,但只对特定的IP启用
<Directory /path/to/your/dir> Options indexes order deny,allow deny from all allow from 192.168.1.101 </Directory>
如果这样做没有达到你想要的(因为目录中的任何内容都不能访问除指定IP以外的任何人),你可以通过mod_rewrite来完成某些特定IP的索引。
RewriteEngine on RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.101 RewriteRule ^/(index\.html)?$ /page_to_kick_people_looking_for_indexes_to.html [L]
使用Apache 2中的mod_authz_host(或Apache 1中的mod_access),可以通过IP地址(或IP地址范围)将访问控制限制为目录。
例如:
<Directory "/path/to/directory/"> Order allow,deny Allow from XXX.XXX.XXX.XXX Options Indexes </Directory>
有关更多信息,请参阅mod_authz_host的Apache页面。
如果创build2 <Directory />
条目,则可以显示特定IP或范围的索引,并禁用所有其他索引,如下所示:
<Directory "/path/to/directory"> Order deny,allow Allow from all Options -Indexes </Directory> <Directory "/path/to/directory"> Order allow,deny Allow from 192.168.1.101 Options +Indexes </Directory>
编辑:
我现在看到,这也禁止访问单个文件,所以它仍然只能从一个IP /范围访问