поддомены из одной папки основного сайта 8)

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем DJ_Petrovich, 5 мар 2009.

Статус темы:
Закрыта.
  1. DJ_Petrovich

    DJ_Petrovich Писатель

    Регистр.:
    14 дек 2007
    Сообщения:
    6
    Симпатии:
    13
    Есть несколько поддоменов.
    Задача с помощью Mod Rewrite сделать такую штуку:

    1.site.ru --> Перейти по ссылке
    2.site.ru --> Перейти по ссылке
    3.site.ru --> Перейти по ссылке

    Т.е. не редирект, а именно чтобы в адресной строке был поддомен, но файлы считывались из директории основного сайта.
     
  2. feLoNy

    feLoNy Писатель

    Регистр.:
    28 янв 2009
    Сообщения:
    1
    Симпатии:
    2
    Мне бы тоже типо такой фичи... Тока надо так:
    юзер запрашиывает - Перейти по ссылке
    по моему тоже самое будет короче =)
    Пмогите! :)
     
  3. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    Например для поддоменов
    Код:
    RewriteRule ^/?([^/]*\.?|[^\./]*)[:;,\.]*$ http://test1.ru/$1
    
    или для отдельных файлов
    Код:
    RewriteRule ^/?([^/]*\.(gif|jpg|png|bmp|htm|html)?|[^\./]*)[:;,\.]*$ http://test1.ru/$1
    
    и php в каталог
    Код:
    RewriteRule ^/?([^/]*\.(php)?|[^\./]*)[:;,\.]*$ папка/$1
    
     
  4. DJ_Petrovich

    DJ_Petrovich Писатель

    Регистр.:
    14 дек 2007
    Сообщения:
    6
    Симпатии:
    13
    это добавляется в .htaccess основного сайта или поддомена?
    Если внести на поддомен, то происходит редирект на основной сайт.
    А если на основной сайт - то ничего не происходит :(
     
  5. phoenix78

    phoenix78 Создатель

    Регистр.:
    12 янв 2007
    Сообщения:
    29
    Симпатии:
    11
    возможно все и так это понимают, но на всякий случай напомню, что все поддомены должны быть направлены на наш хостинг и корректно "приниматься" сервером...:)

    Поэтому, первое что нужно сделать, это настроить днс записи так, чтоб все поддомены были синонимами основного домена.

    1) Легкий вариант:
    Если вы используете CPanel для управления хостингом, то самый простой способ - сделать поддомен * для домена site.ru и в качестве home директории поддомена указать home директорию site.ru. (Для других панелей можно попробывать сделать то же самое, но я не проверял позволяют ли они использовать * как имя поддомена).

    2) Не очень легкий вариант:
    Если ручками править настройки серверов, то у днс серверов нужно сделать, что то вроде
    Код:
    * IN  CNAME  site.ru. 
    и для нашего Apache создать виртуальный хост
    Код:
    <VirtualHost *:80>
    DocumentRoot /var/www/site.ru
    ServerName site.ru
    ServerAlias *.site.ru
    . . . . . . . 
    </VirtualHost>
    
    А после этого уже можно работать с .htaccess
    http://www.google.ru/search?hl=ru&q=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BF%D0%BE%D0%B4%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2+%D1%87%D0%B5%D1%80%D0%B5%D0%B7+.htaccess&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=
    Хотя если вручную создавать VirtualHost, то правила переадресации можно можно прописать в нем, а не в .htaccess
     
    DJ_Petrovich нравится это.
  6. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    Или ещё для субдомена
    Код:
    Options +FollowSymlinks
    RewriteEngine On
    RewriteRule ^(.*)$ http://www.site.ru/index.php?site_id=1 [R,NC,L]
    
    но так как разные субдомены значит будет редирект, а если на том же домене делать то адресная строка не меняется.

    Чтобы адресная строка не изменялась, тогда как выше описывается добавить cname для всех субдоменов *
    * CNAME Перейти по ссылке.
    а дальше если кто приходит на 1.site.ru то htaccess перенаправляет

    Код:
    RewriteRule ^([0-9]+)\.site\.ru(.*) index.php?site_id=$1 [L]
    
    тут ещё

    Перейти по ссылке


     
    DJ_Petrovich нравится это.
  7. DJ_Petrovich

    DJ_Petrovich Писатель

    Регистр.:
    14 дек 2007
    Сообщения:
    6
    Симпатии:
    13
    да, заработало только после прописывания А записи для домена,
    всем спасибо
     
Статус темы:
Закрыта.