2017-07-26 66 views
-1

我有不同的语言的网站,如mydomain/en/mobile,mydomain/de/mobile等。新的移动网站即将到来,网址已从f.x更改。/en/mobile移动到/ mobile/en等等,所以我想先重新引导几页,然后再重新引导到新的链接。我已经实现了这样的规则对单一语言和它的作品:如何使用mod_rewrite重写特定的URL?

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/en/mobile/(.*)$ 
RewriteRule (.*) https://%{HTTP_HOST}/mobile/en [L,R=301] 

现在我需要两个规则 - 其中一个重定向所有的语言和一个被重定向只是少数人 - F.X. en/de/fr应该被重定向,但其他人不应该被重定向。

+0

所以比赛'(ZH | DE | FR)'然后...仅供参考,你不需要使用的RewriteCond如果你只的路径组件上检查该URL,您可以在RewriteRule模式中进行匹配。 – CBroe

+0

谢谢你让我走上正确的道路。 – Qmpeltaty

回答

0

为我工作

RewriteRule ^/(en|de|fr)/mobile(.*)$ https://%{HTTP_HOST}/mobile/$1 [L,R=301] 
+0

你确定吗?当你在.htaccess上下文中配置重写时,路径的前导斜杠已经被删除了,所以'^ /'不应该匹配任何东西。我希望这只能在你做出这个'^(en | de | fr)/ ...'的时候才能起作用 – CBroe