RewriteCond для изменения отображаемого хоста, но не сервера - PullRequest
0 голосов
/ 10 июня 2010

Печатание заголовка этого приводит меня к мысли, что это может быть невозможно из-за соображений безопасности, но я все равно спрошу. На моем сервере запущена поддержка шорткодов, давайте назовем это xx.yy

Я хочу, чтобы, когда пользователь отправляет запрос на xx.yy, он просто меняет отображаемый хост на другой действительный домен, работающий в том же окне.

Пока у меня есть это (сообщает серверу, что он принимает запросы от xx.yy):

RewriteCond %{HTTP_HOST}   ^.*xx.yy [NC]
RewriteRule ^/(.*)$ http://127.0.0.1:<PORT_OMITTED>%{REQUEST_URI} [P,QSA,L]

RewriteCond %{HTTP_HOST}   ^.*mysite.com [NC]
RewriteRule ^/(.*)$ http://127.0.0.1:<PORT_OMITTED>%{REQUEST_URI} [P,QSA,L]

Это работает и направляет трафик в мое приложение, но URL говорит http://xx.yy, когда я бы предпочел сказать http://mysite.com

Я знаю, что мог бы перенаправить на http://mysite.com вместо 127.0.0.1, но у меня есть 4 параллельных блока mysite.com, и возвращение в DNS для перехода к другому блоку кажется пустой тратой, когда я уже здесь. Кроме того, я не уверен, как POST-запросы будут работать таким образом.

Что я могу сделать?

1 Ответ

0 голосов
/ 10 июня 2010

Если mysite.com находится на том же поле, и DNS указывает на него, просто введите R=301 в [P,QSA,L]

Пример

RewriteEngine on
RewriteCond %{HTTP_HOST} ^OldDomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.OldDomain.com$
RewriteRule ^(.*)$ http://www.NewDomain.com/$1 [R=301,L]

С http://www.liewcf.com/redirect-webpages-to-another-domain-538/

Кроме этого, хотя нет веских причин для выполнения того, что вы просите. Представьте, что кто-то может ссылаться на legalwebsite.com, но отправлять его на evilempire.com.

Это был бы хаос, вот что.

...