我正在尝试编辑Location
响应的标题,但无法使其工作 - 但其他标题是可编辑的
# This works
Header always edit Content-Type test TEST
# This doesn't work
Header always edit Location test TEST
标Location
头由我无法编辑的 .htaccess 文件设置。目前,我的代码在主 apache.conf 中,但如果有必要,我可以将其移至虚拟主机。
我该怎么做才能让它发挥作用?
答案1
您能忍受 .htaccess 被完全忽略吗?那么您可以将 AccessFileName 设置为其他名称。
https://httpd.apache.org/docs/2.4/howto/htaccess.html
我觉得很奇怪,你是服务器管理员,但却没有机会编辑 .htaccess。
答案2
我无法按照我计划的方式解决问题,但我以不同的方式解决了它:
负载均衡器正在终止 SSL 流量,因此只有 HTTP 流量会发送到 Apache。最初,无论是原始 HTTP 请求还是原始 HTTPS 请求,这些流量都会发送到端口 80。
我已经对此进行了更改,以便原始 HTTP 请求转到端口 80,而原始 HTTPS 请求转到端口 81;即不同的虚拟主机。
我使用了一条Include
指令来共享配置,并ServerName
在端口 81 虚拟主机中将“https://”设置为在其前面。
我的站点配置文件
<VirtualHost *:80>
ServerName example.com
Include /etc/apache2/includes/example.conf
</VirtualHost>
<VirtualHost *:81>
ServerName https://example.com
Include /etc/apache2/includes/example.conf
</VirtualHost>
例子.conf
ServerAlias foo.example.com
DocumentRoot /var/www/example/public
LogLevel info
ErrorLog /var/log/apache2/example.log
CustomLog /var/log/apache2/example.log combined