*.domain.ru mod_rewrite

12
livelink
На сайте с 30.04.2006
Offline
117
808

приветствую!

дело такое, нужно чтобы все домены, кроме например www, pda, cp ссылались на определенную папку в корне сервера..

все получается, но не могу никак огородить эти самые www, pda, cp от этого рерайта.

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.domain\.ru$ [NC]

RewriteCond %{HTTP_HOST} ^(.+)\.domain\.ru$ [NC]

RewriteRule ^(.*) /usersite/?user=$1%{REQUEST_URI} [L,QSA]

RewriteRule ^(www\.)?(.+)\{HTTP_HOST}.domain\.ru(.*) /usersite/?user=$1%{REQUEST_URI} [L,QSA]

хочу чтобы pda.domain.ru и указанные выше субдомены работали сами по себе и не обращали внимания на звездочку ;)

Знакомства БЕЗ регистрации - http://www.privetka.ru (http://www.privetka.ru), КРЕАТИВНАЯ РЕКЛАМА - http://advertisio.ru (http://advertisio.ru), Каталог автозапчастей - http://aubb.ru (http://aubb.ru)
siv1987
На сайте с 02.04.2009
Offline
427
#1
дело такое, нужно чтобы все домены, кроме например www, pda, cp ссылались на определенную папку в корне сервера..

RewriteCond %{HTTP_HOST} !^(www|pda|cp)\.

RewriteRule ^(.*) /usersite/?user=$1%{REQUEST_URI} [L,QSA]

все что не начинается на www, pda и тд, будет отправляться в папку /usersite/

тут еще наверное надо доработать, так как у поддомена pda может быть www

или наоборот, перечислить какие нужно перенаправить, проще для понимания

$1 и %{REQUEST_URI} в данном случае одно и тоже, за исключением что в request начало будет со слешем /

RewriteRule ^(www\.)?(.+)\{HTTP_HOST}.domain\.ru(.*) /usersite/?user=$1%{REQUEST_URI} [L,QSA]

Это вообще не понятно что

livelink
На сайте с 30.04.2006
Offline
117
#2

я просто еще в конфиге апача прописал *.domain.ru как алиас.. :)

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

Вот вам пример

а то не очень понятно чего вы хотите

RewriteCond %{HTTP_HOST} ^(www\.)?(pda|cp)\.

RewriteRule (.*) /folder/$1 [L,QSA]

(www\.)?pda.domen.ru/file.html равно => ^domen.ru/folder/file.html

livelink
На сайте с 30.04.2006
Offline
117
#4

m.domain.ru - мобильная независимая версия сайта..

*.domain.ru - это юзерские сайты, работающие от /usersite/index.php

siv1987
На сайте с 02.04.2009
Offline
427
#5
*.domain.ru - это юзерские сайты, работающие от /usersite/index.php

RewriteCond {HTT_HOST} !^(www\.)?mobil\. #если это не мобильная версия

RewriteCond {HTT_HOST} !^(www\.)?domen\. #исключаем основной домен

RewriteCond {HTT_HOST} ^(www\.)?(.+)\.domen\. #пользовательские сайты

RewriteRule (.*) /usersite/$1 [L] #отправляем запросы в папку usersite

livelink
На сайте с 30.04.2006
Offline
117
#6

Ни фига ;((

RewriteEngine On

RewriteCond {HTTP_HOST} !^(www\.)?m\.

RewriteCond {HTTP_HOST} !^(www\.)?aubb\.

RewriteCond {HTTP_HOST} ^(www\.)?(.+)\.aubb\.

RewriteRule (.*) /usersite/$1 [L]

сайт (аубб.ру).. m.аубб.ру - не пашет и все субдомены валят в корень ;(

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

{HTTP_HOST}

должно быть

%{HTTP_HOST}

забыл поставить %

livelink
На сайте с 30.04.2006
Offline
117
#8

http://m.domain.ru почему-то ведет на главную страницу сайта ;((

siv1987
На сайте с 02.04.2009
Offline
427
#9
livelink:
почему-то ведет на главную страницу сайта ;((

Так а куда должно вести, если для него не указан ни один реврайт

RewriteCond %{HTTP_HOST} ^(www\.)?m\.domen\.ru

RewriteRule (.*) /куда_нужно [L]

livelink
На сайте с 30.04.2006
Offline
117
#10

а как указать, если это считай вообще отдельный сайт?

12

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