Назад | Перейти на главную страницу

Apache Rewrite в субдомен только для внутреннего использования

Я искал в Интернете несколько дней, но не нашел решения своей проблемы. Допустим, у меня есть веб-приложение (написанное на Ruby on Rails с модом пассажира apache), работающее на mydomain.com

Все, что мне нужно, это переписать пользователей, указывающих на www.domain2.com, на domain2.mydomain.com, оставив браузер пользователей на www.domain2.com, но «поймать» строку поддомена в моем приложении.

Это моя конфигурация apache (vhost domain2.com) для этой работы:

RewriteEngine на RewriteCond% {HTTP_HOST} ^ (www.)? Domain2.com $ RewriteRule ^ (. *) http://domain2.mydomain.com$ 1 [P, R = 301, L]

но это не работает. Все работает (указывает на мое приложение и т. Д.), Но приложение перехватывает строку субдомена «www» (то есть в браузере пользователя), но не ожидаемую.

RewriteRule без флага «P» работает нормально. Мое приложение улавливает правильное доменное имя (domain2), но URL-адрес изменяется в браузере пользователя (на domain2.mydomain.com)

Что я должен делать. Может, такой фокус невозможно проделать?

Большое спасибо за ответ.

Использование флагов P (прокси) и R (перенаправление) в вашем RewriteRule одновременно не имеет особого смысла. Вы должны использовать только флаг P (прокси).

Видеть Вот для получения подробной информации о настройке обратного прокси с Apache httpd и его mod_proxy.