【发布时间】:2015-01-09 16:16:31
【问题描述】:
我正在尝试从他的导航器中重定向访问者的语言,但仅从根目录。 我用过这段代码:
<IfModule mod_rewrite.c>
# Force the "www." at the beginning of URLs #-----------------
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Language redirection #----------
# French
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule (.*) /?lang=fr [QSA,L]
# English
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule (.*) /?lang=en [QSA,L]
它有效,但并不完美;我有 2 个问题; 第一个,url并没有真正重写;参数 ?lang=en 没有写在 url 中;即使页面是英文的好页面。
第二个问题是,如果我有一个 R=302 或 301 像这样:
RewriteRule (.*) /?lang=en [QSA,R,L]
我在这个网址 www.mywebsite.com/?lang=en?lang=en?lang=en?lang=en?lang=en?lang=en?lang=en?lang 上有一个循环和我的网站错误=zh 等等...
我的代码有什么问题?
真诚的。 保罗。
【问题讨论】:
标签: .htaccess mod-rewrite redirect