语言路径的永久重定向(?language = en to / en /)

时间:2013-01-02 11:47:07

标签: apache drupal redirect rewrite

我正在改变Drupal设置中的语言特定路径,从url get参数(?language = en)到url prefix / en /。我需要检查请求的URL是否包含语言参数(?language = en),然后重定向它。

我有4种语言(da,en,de,pl)应该使用这种结构重定向:

www.example.com/blog?language=da => www.example.com/blog  (This is the default language)
www.example.com/blog?language=en => www.example.com/en/blog
www.example.com/blog?language=de => www.example.com/de/blog
www.example.com/blog??language=pl => www.example.com/pl/blog

2 个答案:

答案 0 :(得分:2)

可以使用以下条件:

RewriteCond %{QUERY_STRING} ^language=da$
RewriteRule ^/blog /blog/? [R=301,L]

RewriteCond %{QUERY_STRING} ^language=(en|de|pl)$
RewriteRule ^/blog /%1/blog/? [R=301,L]

答案 1 :(得分:1)

RewriteCond %{QUERY_STRING} language=en
RewriteRule ^/blog /en/blog/? [R=301]

RewriteCond %{QUERY_STRING} language=de
RewriteRule ^/blog /de/blog/? [R=301]

RewriteCond %{QUERY_STRING} language=pl
RewriteRule ^/blog /pl/blog/? [R=301]