我正在配置Apache2服务器,但我无法弄清楚如何拒绝访问除索引文件之外的所有文件/目录。
我的网站位于/ var / www /
内这是我在/etc/apache2/apache2.conf文件中的当前设置:
<Directory />
Order Deny,Allow
Deny from all
Options None
AllowOverride None
</Directory>
<Directory /var/www/>
Order Allow,Deny
Allow from all
</Directory>
如何解决我的问题?谢谢!
答案 0 :(得分:1)
尝试为index.php添加<FilesMatch>
。如果它在此位置不起作用,请将其移到目录的Deny from all
上方。将index.html
更改为您的索引文件。
<Directory />
Order Deny,Allow
Deny from all
Options None
AllowOverride None
</Directory>
<Directory /var/www/>
# Deny first, then allow
Order deny,allow
# Deny everyone from everything
Deny from all
<FilesMatch index\.html>
# but allow index.html
Allow from all
</FilesMatch>
</Directory>
答案 1 :(得分:0)
我认为你最好简单地将所有内容传递给索引文件,而不是拒绝访问其他所有内容。
这可以通过RewriteRule来完成:
RewriteEngine On
# index goes to index (this is first to prevent infinite loop)
RewriteRule ^/index\.html$ - [L]
# everything else goes to index
RewriteRule .* /index.html [L]