要么所有选项都必须以 + 或 - 开头,要么没有选项可以

  • 本文关键字:选项 开头 apache httpd.conf
  • 更新时间 :
  • 英文 :


我使用下面的命令重新启动apache:

# ./apachectl restart

但是我得到以下错误:

AH00526:/usr/local/httpd/conf/extra/httpd-vhosts.conf 第 37 行的语法错误: 要么所有选项都必须以 + 或 - 开头,要么没有选项可以。

httpd-vhosts.conf是低价的:

[root@localhost bin]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
25     DocumentRoot "/usr/local/httpd/htdocs/whmcs"
26     ServerName 33.hk
27     ServerAlias http://www.33.hk
28     ErrorLog "logs/33.hk-error_log"
29 </VirtualHost>
30 
31 <VirtualHost *:80>
32     #ServerAdmin webmaster@dummy-host2.localhost
33     DocumentRoot "/usr/local/httpd/htdocs/whmcs/admin"
34     ServerName 1.33.hk
35     DirectoryIndex index.php
36     <Directory "/usr/local/httpd/htdocs/whmcs/admin">
37       Options -Indexes FollowSymLinks
38       AllowOverride None
39       Order allow,deny
40       Allow from all
41     </Directory>
42     ErrorLog "logs/1.33.hk-error_log"
43     CustomLog "logs/1.33.hk-access_log" common
44 </VirtualHost>

我的37行是Options -Indexes FollowSymLinks,你能告诉我错误在哪里吗?

请参阅文档 https://httpd.apache.org/docs/2.4/mod/core.html#options:

通常,如果多个选项可以应用于一个目录,则 使用最具体的一个,忽略其他的;选项不是 合并。(请参阅各节的合并方式。但是,如果所有选项都打开 选项 指令前面有一个 + 或 - 符号,选项是 合并。任何前面带有 + 的选项都将添加到当前选项中 生效,并且任何前面带有 - 的选项都将从选项中删除 目前有效。

只需用 + 标记该选项即可明确您要像这样添加它:

Options -Indexes +FollowSymLinks

您需要为 Indexes 和 FollowSymLinks 添加前缀。

最新更新