Rewritecond, чтобы изменить отображаемый хост, но не сервер
-
26-09-2019 - |
Вопрос
Выбрав титул к этому, ведет меня полагать, что это может быть невозможно из-за проблем безопасности, но я все равно спрошу. У меня есть поддержка короткого кода работает на моем сервере, давайте назовем это 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, может быть, пойти в другую коробку, похоже на отходы, когда я уже здесь. Кроме того, я не уверен, как почтовые запросы будут работать так.
Что я могу сделать?
Решение
Если 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/
Кроме того, хотя нет никаких способов по веским причинам делать то, что вы спрашиваете. Представьте, что если кто-то может ссылаться на LegitWebsite.com, но отправят ли он в Everyempire.com.
Это был бы хаос, вот что.