Apache Header 编辑位置不起作用

Apache Header 编辑位置不起作用

我正在尝试编辑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

相关内容