了解<Directory>指令中的Apache Order和Allow

我已经尝试阅读手册,虽然说实话,我仍然觉得很难理解,并让我头脑里的订单/允许实际做什么,什么应该是Web服务器的默认设置。

我有以下的默认configuration,我已经closures.htaccess和符号链接。

虽然我不确定Order Allow,DenyAllow from all事实吗? 我应该改变这个从127.0.0.1允许?

 <Directory /> Options -Indexes -FollowSymLinks MultiViews AllowOverride None Order Allow,Deny Allow from all </Directory> 

此外,我需要下面的<Files>还是有更好的方式来写这个阿帕奇?

 <Directory /var/www/example/subdomains/dev/public/webapp> RewriteEngine Off <Files *> order allow,deny deny from all </Files> <FilesMatch "\.(png|gif|jpe?g|png|css|js|swf|ps|flv)$"> order allow,deny allow from all </FilesMatch> </Directory> 

Order Allow,Deny表示“ Allow规则在“ Deny规则之前处理。 如果客户端与“ Allow规则不匹配,或者与“ Deny规则匹配,则拒绝访问。

所以,

 Order Allow,Deny Allow from all 

意味着任何客户端都可以访问您的Web服务器。

我想closures.htaccess和符号链接。

你已经用AllowOverride NoneOptions -FollowSymLinks做到这Options -FollowSymLinks

 <Directory /var/www/example/subdomains/dev/public/webapp> RewriteEngine Off <Files *> order allow,deny deny from all </Files> <FilesMatch "\.(png|gif|jpe?g|png|css|js|swf|ps|flv)$"> order allow,deny allow from all </FilesMatch> </Directory> 

这个configuration做了以下几点:

  • 禁用重写引擎
  • 客户端将被拒绝访问webapp文件夹中的所有文件,除了图像,js,swf,…

注意:

 order allow,deny deny from all 

它告诉Apache拒绝任何访问。