Редирект mod_rewrite

Discussion in 'PHP' started by N19hTW0lF, 9 Aug 2009.

  1. N19hTW0lF

    N19hTW0lF Elder - Старейшина

    Joined:
    11 Jul 2007
    Messages:
    188
    Likes Received:
    140
    Reputations:
    4
    _______
     
    #1 N19hTW0lF, 9 Aug 2009
    Last edited: 5 Mar 2012
  2. alwex

    alwex New Member

    Joined:
    14 Dec 2008
    Messages:
    137
    Likes Received:
    4
    Reputations:
    2
    помню как то раз я смотрел, вроде такого нету, только создавать поддомен и там прописать пару строк в .htaccess

     
  3. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Самое простое (Решение 1):
    Options +FollowSymLinks +SymLinksIfOwnerMatch

    rewriteengine on
    RewriteCond %{REQUEST_URI} !^/sites(/.*)?$
    RewriteCond %{HTTP_HOST} ^(www.)?(.*)$
    RewriteCond /path_to_http_root/sites/%2 -d
    RewriteRule (.*) sites/%2/$1 [L,QSA]

    Достаточно добавить каталог в /sites/ чтобы заработало.

    Ещё использовал вот такой вариант (Решение № 2):

    В httpd.conf, в секции настроек виртуалхоста:
    RewriteMap vhost txt:/projects/iwc/hosts.txt

    В .htaccess (лежит в корне виртуалхоста)
    Options +FollowSymLinks +SymLinksIfOwnerMatch

    rewriteengine on
    RewriteCond %{HTTP_HOST} ^(www.)?(.*)$
    RewriteCond ${vhost:%2|NOT-FOUND} !=NOT-FOUND
    RewriteCond /projects/iwc/sites/%2 -d
    RewriteRule (.*) sites/%2/$1 [L,QSA]

    Сам файл hosts.txt имеет вид:
    alias_1.site -
    alias_2.site -
    alias_3.site -
    nccmin.anything -

    Минус в том, что нужно иметь доступ к httpd.conf
    Плюс в том, что для расширения достаточно добавить новый субдомен в hosts.txt (можно не убирать исходники с /sites/, а только убрать строку из hosts.txt, чтобы временно отключить домен).
     
  4. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    mailbrush,
    уверен, что не проверил.
    после изменения httpd.conf рестарт апача не нужен разве?
     
    1 person likes this.
  5. N19hTW0lF

    N19hTW0lF Elder - Старейшина

    Joined:
    11 Jul 2007
    Messages:
    188
    Likes Received:
    140
    Reputations:
    4
    ну есть решение. бесплатные хостинги за секунду создают субдомен