seventh
@seventh
сисадмин

Как редиректить запросы с одного сайта на другой с подстановкой?

Здравствуйте, уважаемые!
Есть очень популярный сайт site.ru. Адреса его страниц выглядят как:

  • site.ru
  • en.site.ru
  • ru.site.ru/product/1


и т. д. Но, как правило, адрес на конкретную страницу получается очень длинный, поэтому я создал сокращалку ссылок под него. Назовём so.kr
Теперь пришла идея ещё облегчить пользователям создание коротких ссылок простой подстановкой буквы на site.ru - я зарегистрировал домен osite.ru и хочу, чтобы каждый запрос вида:

  • osite.ru
  • en.osite.ru
  • ru.osite.ru/product/1


редиректился соответственно на:

  • so.kr/index.php?url=site.ru
  • so.kr/index.php?url=en.site.ru
  • so.kr/index.php?url=ru.site.ru/product/1


То есть вместе с поддоменами, которых куча и могут появляться новые. Ну и, соответственно, с подстановкой в качестве переменной в URL.
А вот при переходе по адресу so.kr/index.php?url=ru.site.ru/product/1 моя сокращалка сразу сама создаёт короткую ссылку.
Как реализовать такой редирект?
(имею Ubuntu/Apache/PHP)
Заранее благодарю за любые подсказки!
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
seventh
@seventh Автор вопроса
сисадмин
Сам не до конца понимаю, но, вроде, работает:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^([\w\d]+)\.osite\.ru$
RewriteRule ^(.*)$ http://so.kr/index.php?url=http://%1.site.ru$1 [NC,L,QSA]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
hamnsk
@hamnsk
Системный администратор, Linux/Windows
Я добавлял в vhost апача эти строки.

ProxyPreserveHost On
ProxyRequests Off
ProxyVia full
ProxyPass что_запросили куда_отсылать
ProxyPassReverse что_запросили куда_отсылать
Но у меня был 1 путь, думаю смысл тот же, только загорячиться с переменными...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы