我正在尝试将单词列表(博客,新闻...)从英语翻译为检测到的语言,并将翻译与各种网址结构匹配,{ {1}}。
网址:
RewriteRules
首先根据检测到的语言进行翻译:
http://localhost/es/noticias
我尝试创建RewriteCond %{HTTP_HOST} ^(es)\. [OR]
RewriteCond %{REQUEST_URI} .*/(es)/.*
RewriteRule ^(.*) - [E=LANG:%1,E=NEWS:noticias,E=BLOGS:blogs]
RewriteCond %{HTTP_HOST} ^(en)\. [OR]
RewriteCond %{REQUEST_URI} .*/(en)/.*
RewriteRule ^(.*) - [E=LANG:%1,E=NEWS:news,E=BLOGS:blogs]
RewriteCond %{HTTP_HOST} ^(fr)\. [OR]
RewriteCond %{REQUEST_URI} .*/(fr)/.*
RewriteRule ^(.*) - [E=LANG:%1,E=NEWS:nouvelles,E=BLOGS:blogosphere]
之一:
RewriteRule
如何将已翻译的env变量的值(博客,新闻...)与请求的uri通过.htaccess匹配?
编辑1 - 网址和规则的示例
RewriteRule ^([^\/]+/)?(blogs|noticias) index.php?vd=%{ENV:LANG}/$1&m=$2 [NC,QSA,L]
.
.
.
答案 0 :(得分:1)
您可以backrefencing
这样rewrite condition
执行RewriteCond %{ENV:BLOGS}:%{REQUEST_URI} ^([^:]+):^/[^/]+/\1
:
\1
记下REQUEST_URI
,它是用于匹配{{1}}的env变量BLOGS的后向参考。