Подскажите как реализовать сложный редирект на Apache

seventh
На сайте с 23.12.2009
Offline
84
689

Здравствуйте, уважаемые!

Есть очень популярный сайт 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)

Заранее благодарю за любые подсказки!

N
На сайте с 06.05.2007
Offline
419
#1

seventh, прям не понятно, что мешает очень популярному сайту на php это просто взять и написать ?

Хотите одну конфигурацию на все поддомены ? укажите адрес *.so.kr.

Если нужно чтобы все URL один и тот же скрипт обрабатывал - таких примеров масса в .htaccess joomla и прочих CMS.

Кнопка вызова админа ()
seventh
На сайте с 23.12.2009
Offline
84
#2
netwind:
не понятно, что мешает очень популярному сайту на php это просто взять и написать ?

Самому сайту это не нужно, а я к нему отношения не имею, но хочу сделать другим удобней.

Дальше, по правде говоря, ничего не понял, но за ответ спасибо!

seventh
На сайте с 23.12.2009
Offline
84
#3

Сам не до конца понимаю, но, вроде, работает:

RewriteEngine on


RewriteCond %{HTTP_HOST} ^([\w\d]+)\.osite\.ru$
RewriteRule ^(.*)$ http://so.kr/index.php?url=http://%1.site.ru$1 [NC,L,QSA]

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий