Базовая переработка Apache

Базовая переработка Apache

Допустим, у меня есть exampleA.com и exampleB.com. Если я хочу выполнить перезапись на веб-сервере Apache с websiteA.com на websiteB.com, например, когда я ввожу exampleA.com в браузер, он сохранит URL и покажет мне загруженный контент, как если бы я переходил на exampleB.com, как мне сделать это в качестве прямого добавления виртуального хоста?

Мои исследования показывают что-то вроде:

RewriteRule /some/url(.*) http://exampleB.com/some/url$1 [P,L]

Но я не знаком с релевантностью части «/some/url», поскольку я не хочу переписывать только отдельные URI, а весь домен.

Аналогично, если я перейду на exampleA.com/test.htm, он должен отобразить все, что находится на exampleB.com/test, при этом браузер все время будет выдавать «exampleA.com/test».

решение1

Чтобы это правило применялось ко всему домену, вам нужно...

RewriteRule /(.*) http://exampleB.com/$1 [P,L]

Что по сути то же самое, что:

ProxyPass / http://exampleB.com/

Имейте в виду, что существует множество вещей, которые могут направить браузер пользователя на домен exampleB. ProxyPassReverseбудет обрабатывать 30xперенаправления:

ProxyPassReverse / http://exampleB.com/

Но все остальное в контенте может указывать на exampleB.com, включая HTML-контент (который mod_proxy_htmlможет быть полезен), JavaScript, CSS и т. д.

решение2

Вы не можете.

Если вы хотите сохранить исходный URL-адрес, вам нужно фактически использовать прокси (поиск ProxyPass) exampleb через examplea или использовать какие-то махинации с фреймами.

Связанный контент