Что нового

Перенаправление доменов в подпапки (httaccess?)

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Проблема в следующем:

Имеется домен, допустим test.ru, имеется дополнительный домен, допустим new-test.ru, также соответственно имеется хостинг, где в корне находятся файлы CMS для первого домена (оба домена ссылаются на один хостинг).

Задача в том, чтобы при переходе по первому домену, мы попадали в поддомен второго (video.new-test.ru), куда нужно перенести файлы из корня, а при переходе на new-test.ru мы попадали в корень сервера, где будет другая CMS.

Есть идеи как это сделать?
Желательно максимально подробнее.
 

BIOS

Жизнь - игра. График - супер, но сюжет - хреновый.
Сообщения
173
Репутация
69
В файле .htaccess прописываем:
Код:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^test\.ru$ [NC]
RewriteRule ^(.*)$ http://video.new-test.ru/$1 [R=301,L]

Первая строчка - включает символические ссылки
Вторая строчка - включает механизм регулярных выражений
Третья строчка - Задаем условие регулярным выражением
Четвертая строчка - Задаем правило регулярным выражением (301 - код переадресации, L - последнее правило)
 

beliy

Продвинутый
Сообщения
372
Репутация
72
Не совсем понятны такие манипуляции учитывая что все они находятся на одном сервере, да и слишком много редиректов могут быть результатом неправильного подхода. А по сути, то это делается легко путем создания алиасов, редиректов или правкой конфигов web-сервера(это значительно лучше чем httaccess и тем более html и php-редиректов). Что б более подробно описать, нужно больше информации о web-сервере. какая панель управления? Что выступает в роли web-сервера?(apache, nginx+apache, nginx+php-fpm...)
 

BIOS

Жизнь - игра. График - супер, но сюжет - хреновый.
Сообщения
173
Репутация
69
beliy [?]
правкой конфигов web-сервера(это значительно лучше чем httaccess
Интересно чем это отличается конфиг web-сервера от .htaccess?
 

beliy

Продвинутый
Сообщения
372
Репутация
72
2 BIOS
Как минимум скоростью обработки редиректа. Когда проект не сильно нагружен запросами, то это не критично, но Highload проэктах это будет очень ощутимо. Если не верите почитайте почему nginx отказались от работы с .htaccess (хотя есть плагины под nginx позволяющие его использовать)
вот можете почитать одну с статьей на эту тему - http://www.ashep.org/2012/pochemu-nginx-ne-podderzhivaet-fajly-htaccess/
 

BIOS

Жизнь - игра. График - супер, но сюжет - хреновый.
Сообщения
173
Репутация
69
beliy
Я знаю о нюансах обработки .htaccess, сам живу на nginx и все держу в одном конфиге

Мне интересно было почему так категорично разделили .htaccess и основной конфиг, хотя по сути .htaccess - собственно составляющая того самого конфига
В данной конфигурации, раз существуют .htaccess - значит сервер их ищет и разницы между основным конфигом и .htaccess не будет, т.к. сервер все равно будет тратить время на поиск .htaccess
 

beliy

Продвинутый
Сообщения
372
Репутация
72
Мне интересно было почему так категорично разделили .htaccess и основной конфиг
Разделяли для удобства конфигурирования для разработчиков. Да искать будет, но также будет тратить время на чтения кучи мелких файлов. что медленнее чтения 1 большего. Да и зачем использовать .htaccess, там где это можно сделать более рационально?
 

BIOS

Жизнь - игра. График - супер, но сюжет - хреновый.
Сообщения
173
Репутация
69
beliy
Вы не поняли вопроса, я интересовался почему ИМЕННО ВЫ категорично разделили .htaccess и основной конфиг, а не почему была создана идея .htaccess

P.S. Собственно я завел весь этот диалог лишь чтобы разобраться, почему некоторые участники форума вместо того, чтобы ответить на вопрос ТС - начинаю убеждать в бессмысленности действия. (Ведь вопроса "Может есть идеи как улучшить идею?" - не было)
Прошу модераторов подтереть OffTopic после ознакомления с ним ТС
 

beliy

Продвинутый
Сообщения
372
Репутация
72
OffTopic:
BIOS
Вы не поняли вопроса, я интересовался почему ИМЕННО ВЫ категорично разделили .htaccess и основной конфиг
Вы не достаточно внимательно читали мои сообщения, речь шла о алиасах, редиректах (относится К DNS) ИЛИ правкой в конфиге веб сервера (это может быть nginx, не зря ведь просил уточнить, но и для apache было сказано, что "будет тратить время на чтения кучи мелких файлов. что медленнее чтения 1 большего.")
Собственно я завел весь этот диалог лишь чтобы разобраться, почему некоторые участники форума вместо того, чтобы ответить на вопрос ТС - начинаю убеждать в бессмысленности действия. (Ведь вопроса "Может есть идеи как улучшить идею?" - не было)
Как вы думаете почему в заголовке после httaccess стоит знак вопроса? Во вторых я указал все возможные способы решения, предоставив возможность ТС самому выбрать наиболее оптимальный из них. Да и не вижу ничего плохого в том что б в качестве альтернативы предложить более рациональный вариант... А Offtopic вы же и создали не разобравшись в сути моих сообщений...
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481

BIOS

Жизнь - игра. График - супер, но сюжет - хреновый.
Сообщения
173
Репутация
69
beliy
OffTopic:

beliy [?]
Как вы думаете почему в заголовке после httaccess стоит знак вопроса?
Приношу извинения beliy, под вечер уже крыша едет и я некорректно расценил первое сообщение ТС
Еще раз приношу извинения (и за вторую тему тоже), виноват



Добавлено:
Сообщение автоматически объединено:

CreatoR [?]
Вроде apache, но не уверен, как проверить более точно?
Создай такой php-скрипт и посмотри, что выведет
Код:
<?php
echo $_SERVER["SERVER_SOFTWARE"];
?>
 

SyCraft

Администратор
Команда форума
Администратор
Глобальный модератор
Сообщения
55
Репутация
2
beliy сказал(а):
2 BIOS
Как минимум скоростью обработки редиректа. Когда проект не сильно нагружен запросами, то это не критично, но Highload проэктах это будет очень ощутимо. Если не верите почитайте почему nginx отказались от работы с .htaccess (хотя есть плагины под nginx позволяющие его использовать)
вот можете почитать одну с статьей на эту тему - http://www.ashep.org/2012/pochemu-nginx-ne-podderzhivaet-fajly-htaccess/
у нас далеко не один проект на сервере
apache2+nginx
в любом случае используется .htaccess
для удобства, конфиги генерит ispmanager
 
Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Прописал в .htaccess то что указано выше, но результата это не дало :(.
 

beliy

Продвинутый
Сообщения
372
Репутация
72
Попробуйте такую последовательность:
1)создаете для домена new-test.ru сабдомен video.new-test.ru
2) создаете запись CNAME(смотреть вложение)
3)Подождать пока прорезолвится DNS

Прописал в .htaccess то что указано выше, но результата это не дало
там в ISPMANAGER в разделе есть пункт "редиректы" - оно автоматом генерит .htaccess
думаю там скорее всего будет запись вида:
Код:
Redirect 302 /index.html http://video.new-test.ru

или

Код:
Redirect permanent /        http://video.new-test.ru/
OffTopic:

у нас далеко не один проект на сервере
apache2+nginx
в любом случае используется .htaccess

Ради интереса попробуйте сконфигурировать 2 одинаковых сервера(допустим 1 - NGINX + Apache, 2 - NGINX +PHP-FPM with socket transport), написать много сложных, но одинаковых редиректов, положите в места куда ведут редиректы скрипт который будет фиксировать количество осушествленных переходов. Создать нагрузку допустим утилитой ab и сравните. Естественно желательно для реалистичности теста одновременно тестить несколько сайтов с редиректами на этом сервере... И сравнить;)



Добавлено:
Сообщение автоматически объединено:

кстати, учитывая что оба сайта находятся на 1 сервере, еще можно это же сделать посредством создания симлинка на video.new-test.ru, но как я понял админских прав у вас нет на сервере, то согласовывать этот вопрос придется с сапортом хостинга...
 

beliy

Продвинутый
Сообщения
372
Репутация
72
Можете в ЛС скинуть реальные домены?
 
Верх