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

12
M
На сайте с 04.12.2013
Offline
223
#11

Только путем перенаправления. Попробуйте этот вариант:


RewriteEngine On

RewriteRule ^(.*) http://www.site1.ru/$1?mobile=1 [R=301,L]
Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
P
На сайте с 14.12.2013
Offline
0
#12
miketomlin:
Только путем перенаправления. Попробуйте этот вариант:

RewriteEngine On

RewriteRule ^(.*) http://www.site1.ru/$1?mobile=1 [R=301,L]

А подменой URL никак?

Чтобы http://www.site.ru/?mobile=1 менялся на http://m.site.ru и все страницы сайта

И если вообще возможно, то как должен поддомен располагаться, т.к. у меня есть возможность поддомен m запихнуть в корень основного сайта www.site.ru

siv1987
На сайте с 02.04.2009
Offline
427
#13
miketomlin:
Через .htaccess нельзя сделать "реврайт" на другой сайт.

Речь не о другом сайте, а о поддомене, который, может быть даже где-то в одной папке с сайтом находится. Хотя даже с другим сайтом можно проксировать запросы

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

pixelf, вы уже определитесь, а то в старт посте у вас все с точностью да наоборот

pixelf:
Как мне сделать, чтобы если в конце адреса http://www.site1.ru есть ?mobile=1, то шла подмена адреса на http://m.site1.ru/
M
На сайте с 04.12.2013
Offline
223
#14
siv1987:
Речь не о другом сайте, а о поддомене, который, может быть даже где-то в одной папке с сайтом находится.

Тогда поддомен никакой не нужен.

Хотя даже с другим сайтом можно проксировать запросы

Да, верно. Я просто этим никогда не пользовался. Этот способ почему-то не слишком популярен.

---------- Добавлено 16.12.2013 в 11:40 ----------

pixelf:
А подменой URL никак?
Чтобы http://www.site.ru/?mobile=1 менялся на http://m.site.ru и все страницы сайта
Лучше говорить "http://m.site.ru оставался неизменным", чтобы никого не сбивать с толку. Нужно делать проксирование. Как верно заметил siv1987, можно попробовать даже и через .htaccess (см. Using mod_rewrite for Proxying).
И если вообще возможно, то как должен поддомен располагаться, т.к. у меня есть возможность поддомен m запихнуть в корень основного сайта www.site.ru

Это будет самый простой вариант, только нужно сделать фильтрацию по доменному имени, чтобы не дублировать контент. Если у тебя на домене m вообще нет никакого контента, то лучше всего сделать его псевдонимом www.site.ru (т.е. чтобы оба домена ссылались на один и тот же каталог) и в .htaccess для домена m добавлять нужный параметр к строке запроса.

---------- Добавлено 16.12.2013 в 11:50 ----------

Как-то так:


RewriteEngine On

RewriteCond %{HTTP_HOST} ^m\. [NC]
RewriteRule ^(.*) $1?mobile=1 [QSA]
12

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