我的 htaccess 文件中的以下 RewriteRule 未设置请求 header 。
Header set Access-Control-Allow-Origin "*"
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.*)&someUser=(.*)$
RewriteRule ^(.*)SDM$ http://some.domain.com/SDM/Publish.aspx [E=SOME:%2,R,L]
RequestHeader set Some-User: "%{SOME}e"
我不认为 SOME 环境变量与它有任何关系,因为我也尝试了一个通用 header 值,但它也没有设置。我确实确保安装了 mod-headers。我正在寻找我的 chrome 开发人员工具中的 header 。它可能不会出现在那里吗?
最佳答案
在进行外部重定向时不会设置环境变量,您必须像这样设置环境变量进行内部重写:
Header set Access-Control-Allow-Origin "*"
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (^|&)someUser=([^&]+) [NC]
RewriteRule ^(.*)SDM$ /SDM/Publish.aspx [E=SOME:%2,L]
RequestHeader set Some-User "%{SOME}e"
关于apache - RequestHeader 未在 htaccess 中的 RewriteRule 上设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29995270/