我曾尝试阅读手动的尽管说实话,我仍然觉得很难理解和弄清楚 Order/Allow 实际上做了什么以及 Web 服务器的默认设置应该是什么。
我有以下默认配置,其中我已关闭.htaccess 和符号链接。
虽然我不太清楚Order Allow,Deny
andAllow from all
到底起什么作用?我应该将其从 127.0.0.1 更改为允许吗?
<Directory />
Options -Indexes -FollowSymLinks MultiViews
AllowOverride None
Order Allow,Deny
Allow from all
</Directory>
此外,我是否需要下面的内容<Files>
,或者是否有更好的方法为 Apache 编写这个?
<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>
答案1
Order Allow,Deny
表示Allow
先处理规则,再处理规则Deny
。如果客户端不匹配Allow
规则,或者匹配Deny
规则,都会被拒绝访问。
所以,
Order Allow,Deny
Allow from all
意味着任何客户端都可以访问您的网络服务器。
我想关闭.htaccess 和符号链接。
您已经使用AllowOverride None
和完成了此操作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>
此配置执行以下操作:
- 禁用重写引擎
- 客户端将被拒绝访问
webapp
文件夹中除图像、js、swf 等之外的所有文件。
注意:
order allow,deny
deny from all
它告诉 Apache 拒绝任何访问。