Подмена URL через htaccess на поддомен при наличии get переменной в адресе

12
P
На сайте с 14.12.2013
Offline
0
3945

Люди добрые! Слёзно прошу помощи у вас!

Для народа, кто умеет писать условия htaccess

Кратко:

Есть 2 сайта: http://www.site1.ru, http://m.site1.ru/

Как мне сделать, чтобы если в конце адреса http://www.site1.ru есть ?mobile=1, то шла подмена адреса на http://m.site1.ru/

Например: http://www.site1.ru/?mobile=1 подменяется адресом http://m.site1.ru/

Ну и соответственно на внутренних страницах также: например http://www.site1.ru/sub/?mobile=1 подмена на http://m.site1.ru/sub/

Чуть подробнее:

Есть основной сайт: http://www.site1.ru и есть в нем суперпуперфишка определения моб устройства и если это так, то выдается другой шаблон под моб устройства, а все ссылки будут уже с get переменной ?mobile=1.

Вот мне надо вместо вывода этой переменной выводить как бы моб версию на отдельном поддомене http://m.site1.ru

Помогите рабу Божьему!

Да благослави Вас Господь

siv1987
На сайте с 02.04.2009
Offline
427
#1

А нафига тут подмена (я так понимаю реврайт) если это у вас два отдельных домена? Все зависит о того где находится рабочая директория m.site.ru и имеется ли к ней доступ из под site.ru

P
На сайте с 14.12.2013
Offline
0
#2

Не понял вопроса если честно. Мне главное реализовать это, а каким образом - мне все равно. Доступ и к поддомену http://m.site1.ru есть и к основному домену http://www.site1.ru тоже есть

---------- Добавлено 15.12.2013 в 16:40 ----------

siv1987:
А нафига тут подмена (я так понимаю реврайт) если это у вас два отдельных домена? Все зависит о того где находится рабочая директория m.site.ru и имеется ли к ней доступ из под site.ru

Вообще сама директория m.site.ru находится на хостинге на уровень выше основного сайта

siv1987
На сайте с 02.04.2009
Offline
427
#3

Что конкретно не понятно? Вопрос в том - что нафига делать это при живом домене?

pixelf:
Вообще сама директория m.site.ru находится на хостинге на уровень выше основного сайта

Тогда есть вероятность что работать не будет. Я уже и не помню можно ли делать подобный рев райт. По моему нужен симлинк к этой папке

P
На сайте с 14.12.2013
Offline
0
#4
siv1987:
Что конкретно не понятно? Вопрос в том - что нафига делать это при живом домене?


Тогда есть вероятность что работать не будет. Я уже и не помню можно ли делать подобный рев райт. По моему нужен симлинк к этой папке

А как вообще лучше реализовать эту задачу, не подскажете?

Есть основной сайт: http://www.site1.ru и есть в нем суперпуперфишка определения моб устройства и если это так, то выдается другой шаблон под моб устройства, а все ссылки будут уже с get переменной ?mobile=1.

Вот мне надо вместо вывода этой переменной выводить как бы моб версию на отдельном поддомене http://m.site1.ru

M
На сайте с 04.12.2013
Offline
223
#5

Попробуйте этот вариант:


RewriteEngine On

RewriteCond %{QUERY_STRING} ^mobile=1$ [NC]
RewriteRule ^(.*) http://m.site1.ru/$1 [R=301,L]

Только учтите, что данный способ будет работать только в том случае, когда в строке запроса указан только параметр "mobile=1".

---------- Добавлено 15.12.2013 в 17:02 ----------

Может, будет не сложно сделать, чтобы сама "суперпуперфишка" сразу делала нужный редирект.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
siv1987
На сайте с 02.04.2009
Offline
427
#6
miketomlin:
Попробуйте этот вариант:

Этот вариант делает редирект, а тс вроде бы нужен реврайт?..

M
На сайте с 04.12.2013
Offline
223
#7

Через .htaccess нельзя сделать "реврайт" на другой сайт.

P
На сайте с 14.12.2013
Offline
0
#8
miketomlin:
Попробуйте этот вариант:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^mobile=1$ [NC]
RewriteRule ^(.*) http://m.site1.ru/$1 [R=301,L]


Только учтите, что данный способ будет работать только в том случае, когда в строке запроса указан только параметр "mobile=1".

---------- Добавлено 15.12.2013 в 17:02 ----------

Может, будет не сложно сделать, чтобы сама "суперпуперфишка" сразу делала нужный редирект.

Сделал, результат следующий:

Идет просто переадресация на http://m.site.ru/?mobile=1 и не показывает содержимое http://www.site.ru/?mobile=1, а надо, чтобы по адресу http://m.site.ru отображалось содержимое http://www.site.ru/?mobile=1, ну и по внутренним ссылкам также

---------- Добавлено 15.12.2013 в 17:19 ----------

ок, а если я сам поддомен m.site1.ru размещу внутри www.site1.ru? ну т.е. физически папка m будет находится внутри основного домена?

M
На сайте с 04.12.2013
Offline
223
#9

Я не телепат. Мой пост относился к этому вопросу:

pixelf:
Как мне сделать, чтобы если в конце адреса http://www.site1.ru есть ?mobile=1, то шла подмена адреса на http://m.site1.ru/
Например: http://www.site1.ru/?mobile=1 подменяется адресом http://m.site1.ru/
P
На сайте с 14.12.2013
Offline
0
#10
miketomlin:
Я не телепат. Мой пост относился к этому вопросу:

Ок, а есть вариант сделать на поддомене m.site.ru htaccess, чтобы он отображал содержимое www.site.ru/?mobile=1 и внутренние ссылки также?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий