在我们的httpd.conf
虚拟主机块中我们有
SetEnv MAGE_RUN_CODE "v2_us_es"
是否可以在.htaccess
文件中使用该变量
就像是
RewriteRule ^sitemap\.xml$ /media/sitemaps/%{MAGE_RUN_CODE}/sitemap.xml [L]
这可能吗?
我查看了以下链接,但它们都没有实现我想要的功能
答案1
在 mod_rewrite 中使用环境变量的语法是%{ENV:VARNAME}
:
RewriteRule ^sitemap\.xml$ media/sitemaps/%{ENV:MAGE_RUN_CODE}/sitemap.xml [L]
答案2
SetEnv
变量在 中只返回空字符串。我认为这是因为在执行RewriteRule
时尚未设置它们。但可以工作,因此您可以尝试:RewriteRule
SetEnvIf
SetEnvIf Request_URI ^.*$ MAGE_RUN_CODE=v2_us_es
然后使用它:
RewriteRule ^sitemap\.xml$ /media/sitemaps/%{ENV:MAGE_RUN_CODE}/sitemap.xml [L]
Request_URI ^.*$
中的位只是SetEnvIf
检查所请求的页面是否有东西,所以总是设置变量。
它可能最好配置为RewriteMap
Apache 配置文件中。