В нашем httpd.conf
блок виртуального хоста у нас есть
SetEnv MAGE_RUN_CODE "v2_us_es"
Можно ли использовать эту переменную в .htaccess
файл
Что-то вроде
RewriteRule ^sitemap\.xml$ /media/sitemaps/%{MAGE_RUN_CODE}/sitemap.xml [L]
Это возможно?
Я просмотрел следующие ссылки, но ни одна из них не делает то, что я пытаюсь сделать
Синтаксис для использования переменных среды в mod_rewrite: %{ENV:VARNAME}
:
RewriteRule ^sitemap\.xml$ media/sitemaps/%{ENV:MAGE_RUN_CODE}/sitemap.xml [L]
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.