.htaccess重定向基于带通配符的语言

时间:2014-02-02 03:19:20

标签: php apache .htaccess mod-rewrite redirect

我在.htaccess上有基于语言的浏览器重定向,以避免另一个PHP代码。 我想要的是,如果用户输入www.example.com/(斜线后的通配符),浏览器会重定向到en.example.com/wildcard。

到目前为止,我对每种语言都有这个:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^en.example.com$ [NC]
RewriteCond %{HTTP:Accept-Language} ^pt [NC]
RewriteRule .* http://en.example.com [R,L]

这很有效,但如果我输入www.example.com/contact,它会重定向到en.example.com而不是ex.example.com/contact

你能看到什么缺失吗?

1 个答案:

答案 0 :(得分:0)

您可以捕获.*并将其传递给RewriteRule定义中的重写网址:

RewriteRule ^(.*) http://en.example.com/$1 [R,L]

参考文件:URL Rewriting Guide