Виртуальные хосты пользователей

chery

Новичок
Виртуальные хосты пользователей

Здравствуйте. Вопрос по проекту создания пользовательских блогов. Предоставляются адреса по типу www.username.host.com для страниц пользователей,
но читаться будет содержимое каталога www.host.com/username
В .htaccess у меня следующее:

RewriteEngine on
RewriteCond %{HTTP_HOST} [^.]+\.localhost$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ([^.]+)\.localhost(.*) /$1$2

Пока это всё я на локалхосте делаю.
После регистрации для юзера создаётся каталог с его именем, куда и копируется его блог. Вот, к примеру после регистрации юзера alex и обращения к http://alex.localhost браузер выдаёт обибку о ненайденой странице. Посмотрите, есть ли ошибка в коде. Нужно ли что то прописывать в httpd.conf?
В httpd.conf расскоментировал строку

PHP:
LoadModule rewrite_module modules/mod_rewrite.so
PHP:
<Directory />
Options FollowSymLinks
AllowOverride none
</Directory>
изменил AllowOverride с none на ALL

Может что то ещё нужно?
В логах пишет о следующей ошибке:

[error] Cannot remove module mod_rewrite.c: not found in module list

Спасибо.
 

chery

Новичок
Да, AddModule mod_rewrite.c тоже расскоментировал.
Если ставить комментарий на LoadModule rewrite_module modules/mod_rewrite.so то служба не стартует. Апач стартует если закоментировать эти обе строки. :) Убрав комментарии с этих двух строчек апач тоже запускается. Но в логах пишет по прежнему
[error] Cannot remove module mod_rewrite.c: not found in module list
И код в .htaccess у меня правильный? Я в апаче вообще ноль. Вот только впервые столкнулся с этими модулями.

-~{}~ 05.01.06 11:22:

С логами я разобрался. Ошибок никаких не пишет туды.
Но страница юзера http://alex.localhost попрежнему не открывается. Страница не найдена и всё тут.
.htaccess лежит в htdocs.
 

camka

не самка
chery
Ставишь DNS сервер и регистрируешь в нем адрес для всех поддоменов домена localhost.
 

chery

Новичок
Кто нибудь мне может сказать, насколько я правильно составил правила в .htaccess?

RewriteEngine on
RewriteCond %{HTTP_HOST} [^.]+\.localhost$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ([^.]+)\.localhost(.*) /$1$2

Ребята, поддомен alex для домена localhost выделяется при регистрации юзера автоматически. ну то есть создаётся каталог с его именем. В этот каталог и будет сслыться http://username.localhost .
А какой DNS посоветуете поставить?

-~{}~ 06.01.06 10:47:

Я прописал в httpd.conf себе лог для ошибок:
PHP:
RewriteLogLevel 3
RewriteLog logs/rewrite.log
Пишет мне следующее:

127.0.0.1 — — [06/Jan/2006:09:30:57 +0200] [localhost/sid#5b5718][rid#672978/initial] (3) [per-dir c:/program files/apache group/apache/htdocs/] add path-info postfix: c:/program files/apache group/apache/htdocs -> c:/program files/apache group/apache/htdocs/
127.0.0.1 — — [06/Jan/2006:09:30:57 +0200] [localhost/sid#5b5718][rid#672978/initial] (3) [per-dir c:/program files/apache group/apache/htdocs/] strip per-dir prefix: c:/program files/apache group/apache/htdocs/ ->
127.0.0.1 — — [06/Jan/2006:09:30:57 +0200] [localhost/sid#5b5718][rid#672978/initial] (3) [per-dir c:/program files/apache group/apache/htdocs/] applying pattern '^(.+)' to uri ''
127.0.0.1 — — [06/Jan/2006:09:30:57 +0200] [localhost/sid#5b5718][rid#672978/initial] (1) [per-dir c:/program files/apache group/apache/htdocs/] pass through c:/program files/apache group/apache/htdocs

По ходу у меня где то .htaccess неправильно составлен. Ребят, кто сведущ в реврайте, подскажите на ошибку.
Спасибо.

-~{}~ 06.01.06 15:50:

поскольку делаю всё это на localhost, то DNS тут заменяет файл hosts. У меня здесь прописано для одного юзера так:

127.0.0.1 localhost
127.0.0.1 alex.localhost

Теперь при обращении к http://alex.localhost у меня открывается содержимое localhost (что очевидно). Так вот теперь мне нужно чтобы rewrite-rule-ом редиректилось на htdocs/alex (http://localhost/alex ). Ну помогите найти ошибку в
.htaccess!
В полевых условиях в файле описания мастер-зоны будет прописано что то типа

*.localhost. IN A 127.0.0.1

Но мне нужно на локалке себе это заделать сначала. Блин, ну нигде не могут мне помочь с .htaccess
Я уже по десятому кругу перечитал как нужно составлять правила преобразований и всё равно видать где то не то.
То что в rewrite.log пишет - выше привёл. Определённо ему не нравится 3 сторка. Что то там не так. Подскажите.

-~{}~ 11.01.06 16:39:

Парни, ну неужели никто не может указать на ошибку в .htaccess?

PHP:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+\.localhost$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.localhost(.*) /$1$2
Я уже совсем запутался. Перелапатил кучу литры по мод-реврайту и уже сам не вижу возможные ошибки в коде. Вроде всё правильно и составлял по приведённым в мануалах примерам. Ничего не получается.
Или может это в условиях локалхоста сделать не получится? Уже и не знаю даже.
 

chery

Новичок
Alexandre
Директории для юзеров создаются при регистрации.
Изначально я генерил виртуальные хосты, создавая username.conf для каждого зарегистрировавшегося. Но чтобы апач бачил эти хосты, нужно его каждый раз рестартить.
Это неприемлемо.
Второй вариант - это сделать через mod_rewrite.
Правила редиректа составил, но не работает.
Жду помощи, люди добрые.
 
Сверху