Редирект с несуществующих поддоменов на страницы сайта

Discussion in 'PHP' started by wildshaman, 5 Feb 2010.

  1. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    478
    Likes Received:
    483
    Reputations:
    99
    Необходимо сделать htaccess редирект с поддоменов, котрых в панельке нет, на страницы сайта.
    Тобишь, чтобы редиректило с 12312312.site.ru на site.ru/123123213

    Прописал для домена site.ru псевдоним *.site.ru
    сделал в панели доменов Нс запись * A My_IP
    В панельке для домена создал запись *.site.ru. для айпи
    Прописал хтацесс
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(.*).site.ru$
    RewriteRule ^(.*)$ http://yandex.ru/$1 [R=301,QSA]

    В итоге меня с 123.site.ru должно редиректить на http://yandex.ru/123 - чего не происходит. Редиректит росто на главную яндекса, как будто поддомена я не ввел. Уже второй день парюсь, все епребробовал.
     
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    wildshaman К сожалению вы попытались придумать мысленный интерфейс. RewriteRule оперирует только строкой запроса, которую, в общем-то, может сам менять. Поэтому необходим такой финт:

    Code:
    RewriteCond   %{HTTP_HOST}			^(www\.)?[^.]+\.site.ru$
    # Добавляем к строке собственно имя хоста
    RewriteRule   ^(.+)$				%{HTTP_HOST}/$1          
    # Реврайтим уже с ним
    RewriteRule   ^(www\.)?(.+?)\.site.ru http://yandex.ru/$2  [R=301,L]
     
    _________________________