проблема Apache2 mod_vhost_alias

Каким хостингом вы пользуетесь?

  • У меня свой выделенный сервер

    Голосов: 4 80,0%
  • Платным хостином

    Голосов: 0 0,0%
  • Бесплатным хостингом, зачем тратить деньги :)

    Голосов: 1 20,0%
  • У меня нет сайтов. А если и есть, то любуюсь ими дома с денвером или topserver.

    Голосов: 0 0,0%
  • Никогда не слышал(а) слово `хостинг`

    Голосов: 0 0,0%

  • Всего проголосовало
    5
Статус
В этой теме нельзя размещать новые ответы.

Krik

Постоялец
Регистрация
10 Авг 2007
Сообщения
55
Реакции
15
Зравствуйте, необходимо создавать динамические виртуальные хосты в Apache2.

В конфиге пишу:

<IfModule mod_vhost_alias.c>
VirtualDocumentRoot /home/users/vhosts/%0/
</IfModule>

Если идёт запрос через браузер вида Для просмотра ссылки Войди или Зарегистрируйся , то открывается директория:
/home/users/vhosts/site.com/

Мне необходимо чтобы если был запрос Для просмотра ссылки Войди или Зарегистрируйся, то также открывалась бы директория:
/home/users/vhosts/site.com/

Именно через конфиг апача это возможно сделать ?
Чтобы если пользователь ввёл домен с www. то переходило в папку без www
вот :)
 
ServerAlias есть создаю конфиг тогда да.
Если так, то помогает:

<VirtualHost *:80>
DocumentRoot "/home/user/vhosts/site.com"
ServerName site.com
ServerAlias Для просмотра ссылки Войди или Зарегистрируйся
<Directory "/home/user/vhosts/site.com"
allow from all
Options -Indexes
</Directory>
</VirtualHost>

Но если создавать хосты динамически, то не знаю даже куда писать :)
Надо именно чтобы в конфиге этого модуля создавался алиас указывающий на папку без www.
 
Не обратил внимание что вхосты динамические.

VirtualDocumentRoot /home/users/vhosts/%-2/
или
VirtualDocumentRoot /home/users/vhosts/%2+/
 
%2+ это вторая и последующие части
всё ok , но у меня суб домены ещё sub.site.com

вот если ввести Для просмотра ссылки Войди или Зарегистрируйся, то получается
sub.site.com папка открывается всё ok, а если
sub.site.com то уже нет. пытается site.com открыть.

нельзя ли сделать что то вроде правила чтоб если адрес введён c www. то всегда редиректило на адрес без www.

может regexp'ы какие ?

или в главном конфиге апача для всех хостов через mod_rewrite прописать правило как то :)

вот так site.com не открывается тоже. думаю .com хочет открыть)
вот если так %-2 то как я понял будет брать 2 части с конца , тогда тоже будет вместо sub.site.com просто site.com
 
поковырявшись в дебрях винта нашёл как я делал на одном проекте.

1. для обработки Для просмотра ссылки Войди или Зарегистрируйся
использовал правило %1
создал директорию www с файлом index.php
PHP:
header('Location: http://' . str_replace('www.', '', $_SERVER['HTTP_HOST']));

2. субдомены обрабатывал через ошибку 404, сам файл битый, привести не могу, но принцип в том что из $_SERVER['HTTP_HOST'] выделялся домен (он же директория), проверялось наличие субдомена (поддиректория) и выполнялся необходимый редирект либо возвращалась ошибка.

Потом вообще отказался от использования динамических вхостов, поскольку DOCUMENT_ROOT получается у всех один и тот же.
А решение этого без патча Apache я не нашёл.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху