我们在Apache vhost中设置了一个环境变量CODE
我想映射传入的请求
^/myresource?paramOne=one¶mTwo=two
到
/some-path-to/my-resource/resource.php?paramOne=one¶mTwo=two&code=theEnvCode
在vhost RewriteRule中,有没有办法将“code”查询参数设置为env var CODE的值,并传入来自传入请求的所有其他查询参数?:
RewriteRule ^/my-resource /some-path-to/my-resource/resource.php [QSA,L]
Setenv CODE theEnvCode
修改
一种可能性是硬编码“code”参数,将追加请求中的任何其他参数。但问题是如何保持同步 代码参数和环境变量CODE
RewriteRule ^/my-resource /some-path-to/my-resource/resource.php?code=theEnvCode [QSA,L]
Setenv CODE theEnvCode
/my-resource?one=two&three=four
的请求将映射到/some-path-to/my-resource/resource.php?code=theEnvCode&one=two&three=four
。
答案 0 :(得分:0)
由于您重写而不是重定向到另一台服务器,因此您的env变量仍可在目标网址中使用。为什么不在PHP脚本中使用apache_getenv()
检索它?没有必要将它作为GET参数传递。
见http://php.net/manual/en/function.apache-getenv.php