Показать сообщение отдельно
Старый 05.07.2004, 19:32     # 5
Ghost
::VIP::
Звезда первого сезона
Молчун-2004
 
Аватар для Ghost
 
Регистрация: 24.08.2002
Сообщения: 1 575

Ghost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех ГуруGhost Отец (мать) всех Гуру
Если не пройдет $env{'http_host'}, можно анализировать $env{'server_name'} - он также тодержит имя хоста, а именно оно и нужно.

Я так понимаю, что
1. есть сервер site.ru, а все вызовы username.site.ru все равно фактически обращаются к нему (т.е. это как бы дополнительные имеа того же сервера, алиасы).
2. при обращении к username.site.ru/... должно загружаться содержимое /users/username/..., но не простое перенаправление, а на скрипт, который будет выводить страницу.

Настраиваем MOD_Rewrite:
Код:
RewriteRule ^(.*)\.html$ /index.php?url=$1 [NE]
которое будет перенаправлять, например vasja.site.ru/1/a.html на vasja.site.ru/index.php?url=1/a, при этом имя скрипта показываться не будет. Поскольку vasja.site.ru и site.ru это фактически один хост, файл index.php - один для всех и лежит в его корне. В этот скрипт передается параметр url - открываемая страница (обозначим $pagepath). Скрипт смотрит на запрос (ентот самый vasja.site.ru/1/a.html, отобаражаемый в адресоной строке браузера), выковыривает из него имя пользователя, т.е. "vasja" (обозначим $username). Потом скрипт открывает файл "/users/$username/$pagepath.html" (в нашем случае /users/vasja/1/a.html) и выводит его. Кажись, я все правильно понял...

Что обозначает параметр [NE] уже, честно говоря, не помню - выковырял строку из конфига своего сервера.
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы!
Ghost вне форума