需要特别留意下,apache的配置是有顺序关系的,以下为先后:
<Directory>
(except regular expressions) and.htaccess
done simultaneously (with.htaccess
, if allowed, overriding<Directory>
)<DirectoryMatch>
(and<Directory ~>
)<Files>
and<FilesMatch>
done simultaneously<Location>
and<LocationMatch>
done simultaneously
举个例子,执行顺序是 A > B > C > D > E
<Location />
E
</Location>
<Files f.html>
D
</Files>
<VirtualHost *>
<Directory /a/b>
B
</Directory>
</VirtualHost>
<DirectoryMatch “^.*b/”>
C
</DirectoryMatch>
<Directory /a/b>
A
</Directory>
一个危险的示例,在这个例子里边,其实deny 不生效,因为被后生效的 location 配置覆盖了
<Location />
Order deny,allow
Allow from all
</Location>
# Woops! This <Directory> section will have no effect
<Directory />
Order allow,deny
Allow from all
Deny from badguy.example.com
</Directory>
参考文档: http://www.who.int/manual/sections.html#mergin