![Apache conf 此处不允许监听](https://linux22.com/image/785759/Apache%20conf%20%E6%AD%A4%E5%A4%84%E4%B8%8D%E5%85%81%E8%AE%B8%E7%9B%91%E5%90%AC.png)
我尝试 Apache 2.4 配置:
Listen 443
#if SECOND_HOST_PORT is defined and is not 443 listen on it
<IfDefine !SECOND_HOST_PORT>
Define SECOND_HOST_PORT 443
</IfDefine>
<If "'${SECOND_HOST_PORT}' != '443'">
Listen ${SECOND_HOST_PORT}
</If>
但我明白:
这里不允许收听
在倒数第二行
我究竟做错了什么 ?
答案1
Listen
您在不允许的地方使用。
根据文档Listen
唯一允许的背景是server config
。
根据文档context
这意味着它不允许出现在<VirtualHost>
指令、<Directory>
指令或 .htaccess 文件中。
此外,上下文的描述<Directory>
表明<Location>
,、、和指令<Files>
的处理方式与 类似。<If>
<Proxy>
<Directory>
因此您不能在 里面使用它<If>
。
它在<IfDefine>
指令内部起作用。
Define SECOND_HOST_PORT 4711
<IfDefine SECOND_HOST_PORT>
Listen ${SECOND_HOST_PORT}
</IfDefine>