2013-10-02 4 views
0

У меня есть сайт, которым имеет несколько доменов, то есть:Перенаправление на мобильную версию, уважающего домен с HTAccess

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] 

Wich работает, но как вы можете видеть, что это не проверить, если текущий путь «/ mobile/', и он не проверяет наличие других доменов.

Подсказка?

ответ

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] 
+0

спасибо вам ответить! кажется, работает, но некоторые изображения не будут правильно решены, любая идея, почему? –

+0

Проверьте, что путь к ресурсу верен (относительная/абсолютная проблема вызывает перенаправление) в сгенерированном исходном коде HTML. – Koryonik

+0

В этом случае вы должны попробовать отключить перезапись для файлов изображений, добавив «RewriteCond», например: «RewriteCond% {REQUEST_FILENAME}! \. (Jpg | gif) $' – Koryonik

Смежные вопросы