За последние 24 часа нас посетили 17590 программистов и 1675 роботов. Сейчас ищет 1891 программист ...

Перенаправление запросов с субдомена на домен без смены URL

Тема в разделе "Настройка веб-сервера", создана пользователем allforweb, 15 авг 2014.

  1. allforweb

    allforweb Активный пользователь

    С нами с:
    18 сен 2010
    Сообщения:
    72
    Симпатии:
    0
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Re: Перенаправление запросов с субдомена на домен без смены

    ты наверное хотел сказать "без смены пути"?

    Код (Text):
    1. <IfModule mod_rewrite.c>
    2.   RewriteEngine on
    3.  RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.com [NC]
    4.  RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
    5. </IfModule>
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Re: Перенаправление запросов с субдомена на домен без смены

    если без смены урла вообще даже с поддоменом и сервером, то просто для поддомена нужно указать ту же папку веб-серверу, что и для домена.
     
  4. allforweb

    allforweb Активный пользователь

    С нами с:
    18 сен 2010
    Сообщения:
    72
    Симпатии:
    0
    Re: Перенаправление запросов с субдомена на домен без смены

    Что то не так, делается редирект. А мне нужно, чтобы URL оставался прежним.
    Адрес этот- http://news.domain.com/post/15.html
    Запрос на сервере этот - http://domain.com/post/15.html

    Добавлено спустя 1 минуту 14 секунд:
    Re: Перенаправление запросов с субдомена на домен без смены URL
    Не понял это как?
    Задача вынести сущности (новости, фото и т.д. на субдомены)
    Я просто не хочу разбрасывать код по субдоменам и хранить его в одной папке
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Re: Перенаправление запросов с субдомена на домен без смены

    ну я твоё "перенаправление" понял как перенаправление. а оно оказывается означает "ничего не делать" )))
    просто настрой DNS так, чтобы субдомен * был равен домену. вот и всё. ни на апачи, ни на пыхе ничего делать не придется.

    Добавлено спустя 5 минут 45 секунд:
    Re: Перенаправление запросов с субдомена на домен без смены URL
    а нет, вру. на апачи в описание виртуального хоста надо тоже звездочку:
    Код (Text):
    1. <VirtualHost *:80>
    2.   ServerName "domain.com"
    3.   ServerAlias "*.domain.com"
    4. ...
    или на энжинэкс
    Код (Text):
    1. server {
    2.   listen 80;
    3.   server_name .domain.com; # the same as "domain.com *.domain.com"
    4. ...
    итого: звездочка в DNS, звездочка в конфиге вебсервера
     
  6. allforweb

    allforweb Активный пользователь

    С нами с:
    18 сен 2010
    Сообщения:
    72
    Симпатии:
    0
    Re: Перенаправление запросов с субдомена на домен без смены

    Можно еще одно уточнение, как быть с главными страницами, они будут разными?
    http://news.domain.com/ - должна показывать результаты запроса к http://domain.com/news
    http://news.domain.com/post/15.html - показывать результаты запроса к http://domain.com/news/posts/15.html
    - иная сущность подобно
    http://photo.domain.com/ - должна показывать результаты запроса к http://domain.com/photo
    http://photo.domain.com/post/15.html - показывать результаты запроса к http://domain.com/photo/posts/15.html
     
  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Re: Перенаправление запросов с субдомена на домен без смены

    значит теперь направлять поддомены на разные каталоги? окей! хотелки растут.

    Добавлено спустя 13 минут 53 секунды:
    Re: Перенаправление запросов с субдомена на домен без смены URL
    предыдущий пост с настройкой сервера в силе. плюс добавляешь .htaccess
    Код (Text):
    1. <IfModule mod_rewrite.c>
    2.   RewriteEngine On
    3.   RewriteBase /
    4.  
    5.   RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.domain\.com$ [NC]
    6.   RewriteCond %{REQUEST_URI} !^/public_subdomains
    7.   RewriteCond %{DOCUMENT_ROOT}/public_subdomains/%2 -d
    8.   RewriteRule ^(.*)$ /public_subdomains/%2/$1 [QSA,L]
    9.  
    10.   RewriteCond %{REQUEST_FILENAME} !-f
    11.   RewriteCond %{REQUEST_FILENAME} !-d
    12.   RewriteRule ^(.*)$ index.php [QSA,L]
    13. </IfModule>
    заводишь в DocumentRoot папку public_subdomains а в ней под-папки по именам твоих по-доменов: news, post, что-угодно…
    наслаждаешся.