我有一个拥有多个域名的网站,即:
www.site.co.uk
www.site.ru
www.site-german.de
移动版本位于/mobile/
所以,
如何从当前域重定向到/mobile/
路径?
我相信我需要检查域是否是列出的域之一,当前路径不是移动的,对吧? (对于正则表达式,我真的很糟糕。)
这就是我现在所拥有的:
RewriteCond %{HTTP_HOST} ^www\.site\.com [NC]
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
RewriteRule ^(.*)$ http://site.com/mobile/$1 [L,R=302]
哪个有效,但正如您所看到的那样,它不会检查当前路径是否为'/ mobile /'并且它不会检查其他域..
任何提示?
答案 0 :(得分:2)
可能通过添加RewriteCond
来检查当前路径,使用否定正则表达组 (?!...)
,如下所示:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "ipod|iphone|ipad|android|palm|blackberry|googlebot-mobile" [NC]
RewriteCond %{REQUEST_URI} ^(?!/mobile/)
RewriteRule ^(.*) /mobile/$1 [QSA,L,R=301]