.htaccess Перенаправить sub.DomainA в DomainB / Subdir без изменения URL

0

Я тщательно искал сеть, чтобы ответить на это, без какой-либо удачи.

Я пытаюсь написать перенаправления htaccess, который делает следующее:

Перенаправление:

subdomain.DomainA.com

чтобы:

DomainB.com/subdir/

Но без изменения URL-адреса, отображаемого в адресной строке, и сохранения прямых ссылок на доступ к субдомену. DomainA.com

Таким образом, subdomain.DomainA.com/link/1000 становится DomainB.com/subdir/link/1000

Это самое близкое, к чему я пришел, но я еще не смог прибить его.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^subdomain.DomainA.com$
RewriteRule ^(.*)$ http://DomainB.com%{REQUEST_URI} [P]

Я также попробовал RewriteRule ^(.*)$ http://DomainB.com/subdir%{REQUEST_URI} [P], но это возвращает subdomain.DomainA.com/subdir по какой-то причине :(

Любая помощь будет оценена!

  • 1
    Вы включили mod_proxy? Использование флага P запускает использование mod_proxy. httpd.apache.org/docs/current/rewrite/flags.html#flag_p
  • 0
    Я никогда не видел, чтобы REQUEST_URI использовался в RewriteRule. Это может быть хорошо, но попробуйте более нормальный: RewriteRule ^ (. *) $ DomainB.com/$1 [P]
Теги:
.htaccess
redirect
mod-rewrite

1 ответ

0

Как упоминалось выше, когда вы используете [P], вы действительно вызываете mod_proxy. Вы должны сделать это, прежде чем сможете использовать его в правиле перезаписи. На самом деле, вы включили прокси для хоста, которого вы пытаетесь достичь?

http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxy

<Proxy http://DomainB.com>
   Require all granted
</Proxy>

Вы могли бы увеличить свой LogLevel (и/или) RewriteLogLevel, чтобы помочь отладить, почему он не работает (я не могу вспомнить, был ли отказ прокси-сервера в журнале перезаписи или просто в журнале ошибок)

  • 0
    mod_proxy.so действительно загружается в Apache домена B. Где я должен положить это? В .htaccess поддомен.DomainA.com?
  • 0
    Я вызывал [P] flag только потому, что это то, что я видел в некоторых других примерах, но я не совсем уверен, если это необходимо. Может есть другой способ?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню