我想使用htaccess停用除我的本地IP以外的所有目录列表。
这样做很好,但只适用于一个IP
地址:
# deactivate directory listing if not coming from local
Options -Indexes
<If "%{REMOTE_ADDR} == '192.168.188.44' ">
Options +Indexes
</If>
我如何对来自IP
的所有192.168.*
地址执行此操作?
我在Windows上使用Apache2 2.4.4
,在我的ubuntu服务器上使用2.2.2
。
显然上面的代码块在Apache2 2.4
之前不起作用。
因此,如果某些代码段可以在两个系统上运行,那就太好了。
提前致谢。
答案 0 :(得分:0)
您可以在较旧/较新的Apache版本中通过mod_rewrite
执行此操作。
将此代码放入DOCUMENT_ROOT/.htaccess
文件中:
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
RewriteCond %{REMOTE_ADDR} !^192\.168\.
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [F]