我有一系列从2.0 / 2.2升级到2.4的服务器。 以前的pipe理员做了各种选项的散列。 我很困惑,因为2.0 / 2.2文档说选项全部(这是“除MultiViews外的所有”)是默认的,而在2.4中默认已经改变为FollowSymLinks。 我也困惑父目录的选项与子目录的选项有什么关系 – 什么是inheritance? 这是我的问题小孩…
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> <Directory "/opt/apache/netegrity/webagent/pw/"> Options -Indexes MultiViews ExecCGI AllowOverride None Order allow,deny Allow from all </Directory>
好的,这是2.2,在那里的文档肯定骂你在同一行+/- +/-非+/-选项,但启动您的服务器。 那么在这个代码中为/ opt / apache / netegrity / webagent / pw /设置了哪些选项? pw目录是否inheritance了FollowSymLinks并设置了MultiViews和ExecCGI,并且-Indexes是无稽之谈,因为Indexes不是反正呢? 如果第二个选项指令是唯一的
Options MultiViews ExecCGI
将索引打开或不是/ opt / apache / netegrity / webagent / pw /? 那么FollowSymLinks呢? 我知道这是怎么演变的 – 第二个选项指令是由webagent安装程序创build的
Options Indexes MultiViews ExecCGI
但是pipe理员想把索引带走,所以他们在前面贴了一个减号。 我认为(如果我正确地阅读文档),你关掉索引的方式就是把它排除在外,而不是贴上减号。
所以我们来谈谈金钱问题,这是从2.2到2.4的语法。 由于选项默认是FollowSymLinks而不是All,所以我们可以省略它
<Directory /> AllowOverride none Require all denied </Directory>
对? CA的人build议为/ opt / apache / CA / webagent / pw /
<Directory "/opt/apache/CA/webagent/pw/"> Options Indexes MultiViews ExecCGI AllowOverride None Require all granted </Directory>
所以,如果我们想要删除索引,那么我们是否完全放弃它,没有废弃选项?
<Directory "/opt/apache/CA/webagent/pw/"> Options MultiViews ExecCGI AllowOverride None Require all granted </Directory>
而且,最后一个问题,是为/ opt / apache / CA / webagent / pw /隐式设置的FollowSymLinks,因为它被设置为? 还是只有在选项行上显示/ opt / apache / CA / webagent / pw /?
在apache2ctl有一个configtest参数来检查你的configuration。
当我不确定时,我喜欢使用这个:
# apache2ctl configtest Syntax OK