【发布时间】:2016-05-27 10:16:48
【问题描述】:
我有一个多语言网站,可以在不同的域中工作,具体取决于语言。所有域共享相同的字体代码,网站 (Drupal) 使用路径确定语言。 现在我已经将每个域配置为重定向到自己的语言,所以我得到了:
- www.example.com -> www.example.com/en
- www.example.es -> www.example.es/es
- www.example.ru -> www.example.ru/ru
这样,当用户进入网站时,cms 会将语言切换为与该域对应的语言。
我的问题是,当有人在网站上使用语言切换器时,它会更改所有查询参数以显示与该语言对应的内容但不会更改域,所以,如果我是在www.example.com/en/something 并切换到西班牙语,我将以www.example.com/es/algo 结束。
我还需要根据语言更改域(在域名之后总是写成/en、/es、/ru),如果可能的话,保留查询参数。
我已经在 htaccess 中编写了这段代码(仅用于俄语,作为测试),但我担心它可能完全错误,因为它什么都不做:
RewriteCond %{REQUEST_URI} ^/ru$1
RewriteRule ^$1 http://www.example.ru/ru$1 [L,R=301]
任何建议都会非常有帮助。
【问题讨论】:
-
你从哪里得到代码?它有太多语法错误,在条件模式和重写模式中不允许使用 $1。
-
是的,我担心我的 htaccess 语法知识几乎不存在,我就像实验室里的那条狗(我不知道我在做什么)。
-
另一个问题指的是不同的问题,即使它们是相关的。
标签: apache .htaccess mod-rewrite url-redirection