ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] Re[2]: [apache-talk] Re: [apache-talk] =?koi8-r?Q?=C2=E8=F0=F2=F3=E0=EB=FC=ED=FB=E5=20=F5=EE=F1=F2=FB=20=F7=E5=F0=E5=E7?= mod_rewrite



Hello!

joo wrote:
> 
> >> Динамически это делается как-либо? Или только явно прописывать хосты?
> 
> ATI> Делаешь сравнение HTTP_HOST с файлом,
> ATI> в котором прописаны соответствия между хостами
> ATI> и каталогами на диске...
> 
> То есть разбирать скриптом все запросы к неизвестным субдоменам,

Нет не скриптом,
а правилами mod_rewrite

RewriteEngine On

RewriteMap      lowercase       int:tolower
RewriteMap      vhost           txt:/some_path/vhost.map

# not my own site
RewriteCond     ${lowercase:%{SERVER_NAME}}     !www\.example\.com$

RewriteCond     %{REQUEST_URI}                  !^/icons/
RewriteCond     %{REQUEST_URI}                  !^/cgi-bin/
RewriteCond     ${lowercase:%{SERVER_NAME}}     ^(.+)$

# main remap
RewriteCond     ${vhost:%1}                     ^(/.*)$
RewriteRule     ^/(.*)$                         %1/docs/$1

RewriteCond     %{REQUEST_URI}                  ^/cgi-bin/
RewriteCond     ${lowercase:%{SERVER_NAME}}     ^(.+)$

# cgi remap
RewriteCond     ${vhost:%1}                     ^(/.*)$
RewriteRule     ^/cgi-bin/(.*)$                 %1/cgi/$1

Вот примерно таким образом.

Файл vhost.map выглядит так:

# site1.ru
www.site1.ru                 /path/www/virtual/site1.ru

# site2.ru
www.site2.ru                 /path/www/virtual/site2.ru

# site3.ru
www.site3.ru                 /path/www/virtual/site3.ru
site3.my-host.ru             /path/www/virtual/site3.ru

А вообще я это брал и документации к апачу
про Mass Virtual Hosting

> приходящие (а так и сделано) на корневую директорию,
> а затем редиректить на целевой файл?
> Скриптом, а не в mod_rewrite?

Можно вместо текстового файла vhost.map
задействовать скрипт.

Vale!

-- 
Alexander (Thor) Ivashchenko
=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.