使用mod_headers来覆盖mod_alias

我正在尝试使用mod_headers来更改正在通过使用Redirect指令通过mod_alias发送的Location标题,但是没有一个正在被重写。 我在我的http.conf有以下http.conf ;

 Header edit Location //example.com //example.com.dev 

.htaccess文件中我有:

 Redirect temp /foo http://example.com/ 

但是头文件从不改变。 我可以确认它正在加载模块并通过在其他指令下方添加以下内容来读取指令:

 Header set FOOBAR bazbax 

我可以看到新的标题出现。

我该怎么做才能正确地工作?

在mod_headers文档中 ,标题指令声明如下:

可选的条件参数决定了这个指令对哪个内部表格的响应标题。 服务器的其他组件可能已将响应标头存储在对应于onsuccess的表中,或者对应于始终的表中。 在这种情况下,“始终”是指在添加标题时,是否会在成功和未成功的响应中发送标题,但是如果您的操作是现有标题的function,则需要继续阅读。

onsuccess的默认值可能需要更改为总是在类似于下面列出的情况下。 还要注意,在两种情况下重复使用这个指令是有意义的,因为在现有的头文件中总是不是onsuccess的超集。

  • 您正在向非成功(非2xx)响应(例如redirect)添加标头,在这种情况下,只有与始终对应的表才能用于最终响应。

这很可能是您遇到的问题,因为您通过mod_alias发出3xx响应。