正如我在httpd.conf文件中看到的一些代码需要这些包装Directory , IfModule , Files , IfDefine , Location ..和一些什么。 但是我真的不明白我应该在哪里以及为什么使用?
例如:
正如我所看到的一些包装可以有这样的属性,应该只参考/Applications/MAMP/htdocs文件夹:
<Directory "/Applications/MAMP/htdocs"> Options All Order allow,deny Allow from all </Directory>
不同于此:
<Directory /> Options Indexes FollowSymLinks AllowOverride All </Directory>
这个没有属性的包装可能是指所有的目录。
但是,确切地知道如何pipe理这些模块是很好的,因为这很混乱。
刚开始的时候,没有任何东西能替代人们的意识。 您在上面描述的指令都是Apache Core的一部分。
<Directory ...> </Directory>块适用于指定的文件系统目录,它是子目录。 上面的<Directory />语句实际上有一个属性 – /意味着整个文件系统。 请注意,关于如何使不同的<Directory ...>块匹配相同的文件系统目录或部分path进行交互,有一些规则。
<Files ... > </Files>指令适用于匹配的文件,例如拒绝访问名为config.php的文件
<Files config.php> order allow,deny deny from all </Files>
等等
目录指令 文件指令 位置指令 IfModule指令 IfDefine指令
这些被称为“指令”(而不是包装),了解它们的最好的地方是通过“指令快速参考”(这是每个人使用相当多)。
http://httpd.apache.org/docs/2.2/mod/quickreference.html
<Directory /> Options Indexes FollowSymLinks AllowOverride All </Directory>
这个没有属性的包装可能是指所有的目录。
不,这个(/)是指运行Apache的驱动器的顶层目录。
另一方面,这种影响也适用于该目录的所有子目录,除非另一个<Directory …>块覆盖这些设置。