拒绝访问除索引文件以外的所有文件--Apache2

时间:2011-10-25 15:10:01

标签: linux apache

我正在配置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>

如何解决我的问题?谢谢!

2 个答案:

答案 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]