看来 mod_headers 指令Header和RequestHeade具有相同的功能。看来唯一的区别就是Header可以读取PHP发送的头信息,而RequestHeader不能读取。是对的吗?
的文档Header说:
该指令可以替换、合并或删除 HTTP 响应标头。在内容处理程序和输出过滤器运行后立即修改标头,从而允许修改传出标头。
纪录片中RequestHeader说:
该指令可以替换、合并、更改或删除 HTTP 请求标头。在内容处理程序运行之前修改标头,从而允许修改传入的标头。
我需要从我的地图服务器(QGIS 地图服务器)发送一个 CORS 标头,该服务器在端口 8080 上使用带有 Apache 2.4.* 的快速 cgi。
我配置了一个简单的
<VirtualHost *:8080>
[...]
Header set Access-Control-Allow-Origin "*"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
它有效。
我想设置一个代理以避免在 URL 中指定端口。我在端口 80 中配置了另一个 Virtualhost:
<VirtualHost *:80>
ProxyPass /cgi-bin/ http://localhost:8080/
ProxyPassReverse /cgi-bin/ http://localhost:8080/
# Is useful this?
Header set Access-Control-Allow-Origin "*"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
但标头不会传播。有解决办法吗?
我正在尝试修改 cookie 有效的域mod_headers:
从:
ipa_session=e88331a44e20d8b5caaacb0e896029fe; Domain=internal.example.com; Path=/ipa; Expires=Tue, 13 Dec 2016 09:31:33 GMT; Secure; HttpOnly
到:ipa_session=e88331a44e20d8b5caaacb0e896029fe; Domain=example.com; Path=/ipa; Expires=Tue, 13 Dec 2016 09:31:33 GMT; Secure; HttpOnly
Mod-headers 运行良好,这些规则有效:
Header set "something" "something"
Header edit "something" "something" "somethingdifferent"
Run Code Online (Sandbox Code Playgroud)
但编辑“Set-Cookie”标头什么也不做:
Header edit "Set-Cookie" "Domain=internal.example.com" "Domain=example.com"
Run Code Online (Sandbox Code Playgroud)
Apache 语法没问题,但规则什么也没做。
Apache软件包版本:2.4.18-2ubuntu3.1
我正在尝试使用"RequestHeader edit"指令来获取"Cookie"标头,并从该标头中删除特定的cookie.
换句话说,假设传入的"Cookie"标题是:
Cookie: header1=123; myheader=abc; header2=789
Run Code Online (Sandbox Code Playgroud)
我想使用"RequestHeader edit"将"Cookie"标题修改为:
Cookie: header1=123; header2=789
Run Code Online (Sandbox Code Playgroud)
或者,作为另一个例子,如果传入的"Cookie"标题是:
Cookie: header1=123; header2=789; myheader=abc
Run Code Online (Sandbox Code Playgroud)
改为:
Cookie: header1=123; header2=789
Run Code Online (Sandbox Code Playgroud)
我对正则表达式很恐怖,但我能够得到的最接近的是:
RequestHeader编辑 Cookie "myheader=.*(;)|myheader=.*($)" ""
但是,即使这有一个问题,如果"myheader"cookie是"Cookie"字符串/值中的最后一个,我最后会以分号(";")结尾.
任何人都可以提供完全正确地执行此操作的正则表达式吗?
谢谢,吉姆
PS我也想知道:带有尾随分号的Cookie是否有效?
我想通过添加它们来设置P3P标题,.htaccess使用以下内容:
<IfModule mod_headers.c>
Header set P3P "CP="ALL DSP COR CUR ADM TAI OUR IND COM NAV INT""
</IfModule>
Run Code Online (Sandbox Code Playgroud)
但是,这会导致内部服务器错误.我能找到的服务器日志中唯一相关的条目是.htaccess:Header has too many arguments
据我所知,mod_headers.c载入.
有关如何解决此问题的任何想法?谢谢!