Помогите с Mod_Rewrite и поддоменами

L
На сайте с 24.02.2005
Offline
181
851

Видимо старею и вещи, которые раньше делал легко уже сам не могу осилить (видимо первый звоночек к тому, что скоро в унитаз попадать перестану).

В общем задача проста, но одновременно для некоторых очень сложна :)

Есть сайт website.ru - для него нужно сделать несколько поддоменов. Идея такова, что набирая sub1.website.ru челу отдается страница, которая лежит в папке subdomains/website/sub/. Есть готовый .htaccess (взят с просторов инета)


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(.+)\.website\.ru$ [NC]
RewriteCond %{HTTP_HOST} !^www\.website\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/subdomains
RewriteRule ^(.*) %{HTTP_HOST}$1
RewriteRule ^(.*)\.website\.ru/(.*) /subdomains/$1/$2
RewriteRule ^subdomains\.(.*) /subdomains/$1

</IfModule>

В чем его проблема:

1. Он не универсален, т.е привязан к одному домену website.ru, а хотелось бы сделать поуниверсальней

2. При обращении к sub.website.ru он мне почему отдает путь sub.website.ru/subdomains/sub/, а хотелось бы sub.website.ru

Где ошибка?

embo
На сайте с 05.12.2008
Offline
24
#1

поправьте меня, но по-моему данная задача решается через vhost_alias_module

Плавно двигаемся от сапы к статьям (http://miralinks.ru/users/registration/from:4223)
Vladimir
На сайте с 07.06.2004
Offline
614
#2
Locker:
Видимо старею и вещи, которые раньше делал легко уже сам не могу осилить (видимо первый звоночек к тому, что скоро в унитаз попадать перестану).

В общем задача проста, но одновременно для некоторых очень сложна :)

Есть сайт website.ru - для него нужно сделать несколько поддоменов. Идея такова, что набирая sub1.website.ru челу отдается страница, которая лежит в папке subdomains/website/sub/. Есть готовый .htaccess (взят с просторов инета)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(.+)\.website\.ru$ [NC]
RewriteCond %{HTTP_HOST} !^www\.website\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/subdomains
RewriteRule ^(.*) %{HTTP_HOST}$1
RewriteRule ^(.*)\.website\.ru/(.*) /subdomains/$1/$2
RewriteRule ^subdomains\.(.*) /subdomains/$1

</IfModule>


В чем его проблема:
1. Он не универсален, т.е привязан к одному домену website.ru, а хотелось бы сделать поуниверсальней
2. При обращении к sub.website.ru он мне почему отдает путь sub.website.ru/subdomains/sub/, а хотелось бы sub.website.ru

Где ошибка?

RewriteEngine on

RewriteCond %{HTTP_HOST} ^sub1\website.ru$ [NC]

RewriteCond %{REQUEST_URI} !sub1/

RewriteRule ^(.*)$ sub/$1

если конечно директория sub находится в домашнм каталоге website.ru

Аэройога ( https://vk.com/aeroyogadom ) Йога в гамаках ( https://vk.com/aero_yoga ) Аэройога обучение ( https://aeroyoga.ru ) и просто фото ( https://weandworld.com )
L
На сайте с 24.02.2005
Offline
181
#3
Nadejda:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub1\website.ru$ [NC]
RewriteCond %{REQUEST_URI} !sub1/
RewriteRule ^(.*)$ sub/$1

если конечно директория sub находится в домашнм каталоге website.ru

а если sub и website заданы неявно? (.*)?

Vladimir
На сайте с 07.06.2004
Offline
614
#4
Locker:
а если sub и website заданы неявно? (.*)?

на моем хостинге неявно не работает. надо обращаться к админам, а им в лень.

L
На сайте с 24.02.2005
Offline
181
#5

В общем и явно и неявно не работает :(

malls
На сайте с 08.08.2005
Offline
255
#6

Помимо реврайта есть еще пара фишек:

1. Прописать алиасы вида: *.website.ru (иначе попытка реврайта умрет на уровне сервака - он сразу ошибку выплюнет)

2. Прописать ДНС-ку на поддержку того же самого.

DJ_Petrovich
На сайте с 13.02.2006
Offline
188
#7

В настройках Apache прописываете:

DocumentRoot /var/www/site.ru

ServerName site.ru

ServerAlias *.site.ru

Тонны одноцентового трафика из Директа для ваших сайтов. Настройка - бесплатно! (/ru/forum/779616) Лендинг + Реклама в Яндекс.Директ за 15 минут! (/ru/forum/comment/16213883)
L
На сайте с 24.02.2005
Offline
181
#8

Так, уточню - днс и вся прочая фигня прописана и робит - нужно только мод_рерайт настроить. То что писал я робит, но криво - выдается путь включая подпапку, т.е вместо sub.site.ru меня перенаправляют на sub.site.ru/subdomains/sub/, что как бы не то, что требуется.

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