apache - RequestHeader 未在 htaccess 中的 RewriteRule 上设置

标签 apache .htaccess mod-rewrite mod-headers

我的 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/

相关文章:

apache - 根域上邮件服务器的 SSL 证书与子域上的通配符

apache - Apache Hadoop YARN 中的 'mapreduce.map.memory.mb' 和 'mapred.map.child.java.opts' 是什么关系?

url - .htaccess RewriteRule 将目录类型的 URL 结构转换为查询

apache - .htaccess 301重定向插入查询字符串

php - apache htaccess 不添加 https ://www to any page except inside. php

.htaccess - 在 DocumentRoot 后面的 Mod-Rewrite 加载文件

java - 安装 org.apache.commons.io?

regex - 为什么 Apache 删除多个斜杠?

php - Codeigniter 项目在本地工作但不在线 - 找不到 404 页面

php - Laravel url 显示未找到错误