У меня есть 2 сайта для клиента.Один - мобильный сайт, другой - обычный сайт.Оба они имеют отдельные URL.
Использование .htaccess Я уже запустил его, так что если вы заходите на мобильный, вы будете перенаправлены на мобильный сайт.Теперь я хотел бы иметь ссылку на мобильный сайт, которая вернет пользователя на обычный сайт.Этот параметр будет запомнен при установке файла cookie.
И в этом случае возникает проблема ...
Я могу установить файл cookie для мобильного сайта, но когда он затем перенаправляется на обычныйсайт, он не может увидеть этот файл cookie из-за междоменных доменов и перенаправляет обратно на мобильный сайт.
Я пытаюсь быть умным и делаю динамическое размещение файлов cookie в зависимости от домена и при перенаправлении на обычный сайттам тоже cookie, чтобы не пытаться перенаправить.
Вот код mod_rewrite, над которым я работаю.У меня сейчас болит мозг из-за этого, так что если кто-то может указать, где я ошибся, или если это вообще возможно, это будет здорово
# Write cookie if redirected
RewriteCond %{QUERY_STRING} (^|&)mredir=0(&|$)
RewriteRule ^ - [CO=mredir:0:%{HTTP_HOST}]
# redirect if mobile device && !mredir
RewriteCond %{HTTP_HOST} ^normalURL.com$
RewriteCond %{HTTP_COOKIE} !mredir=0
RewriteCond %{QUERY_STRING} !(^|&)mredir=0(&|$)
RewriteCond %{REQUEST_URI} !^/mobile/
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
RewriteRule ^(.*)$ http://mobileURL.com/ [R=302,QSA,L]
# point at mobile site IF !mredir
RewriteCond %{HTTP_HOST} ^mobileURL.com$
RewriteCond %{HTTP_COOKIE} !mredir=0
RewriteCond %{QUERY_STRING} !(^|&)mredir=0(&|$)
RewriteCond %{REQUEST_URI} !^/mobile/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_URI} ^/
RewriteRule ^(.*)$ mobile/$1 [L,QSA]
# IF mredir, redirect normal site
RewriteCond %{HTTP_HOST} ^mobileURL.com$
RewriteCond %{HTTP_COOKIE} mredir=0 [OR]
RewriteCond %{QUERY_STRING} (^|&)mredir=0(&|$)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_URI} ^/
RewriteRule ^(.*)$ http://normalURL.com?mredir=0 [L,QSA]
# point at normal site
RewriteCond %{HTTP_HOST} ^normalURL.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]