我正在将Drupal设置中的特定于语言的路径从url get参数(?language=en)更改为url前缀/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
可在以下条件下使用:
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]
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]