基于语言变量的.htaccess中的RewriteRule

时间:2015-05-28 07:27:47

标签: php apache .htaccess mod-rewrite rss

我的网站包含德语作为默认语言,英语作为替代语言。我想根据语言条件将我的RSS网址重定向到网站中的另一条路径。

我的意思是  默认情况下为http://www.eample.com/rss.xmlhttp://www.eample.com/index.php?type=11 在替代语言的情况下,http://www.eample.com/en/rss.xmlhttp://www.eample.com/index.php?type=11&L=1

我已经通过以下方式尝试了这一点,但它只尊重默认情况。

RewriteRule rss.xml$ /index.php?type=11 [L,R=301]
RewriteRule en/rss.xml$ /index.php?type=11&L=1 [L,R=301]

你能帮助我实现这个目标吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

RewriteRule ^rss\.xml$ /index.php?type=11 [NC,L,R=301]
RewriteRule ^en/rss\.xml$ /index.php?type=11&L=1 [NC,L,R=301]

答案 1 :(得分:1)

可能会使用一些正则表达式来捕获其他国家/语言代码。

RewriteRule ^rss\.xml$ /index.php?type=11 [NC,L,R=301]
RewriteRule ^(en|de|fr)/rss\.xml$ /index.php?type=11&L=$1 [NC,L,R=301]

或匹配任意两个字符

RewriteRule ^([a-z]{2})/rss\.xml$ /index.php?type=11&L=$1 [NC,L,R=301]