2015-09-01 6 views
0

У меня есть две домены, указывающие на сайт, размещенный apache2 (например, a.com и b.com). Основным доменом является a.com, и на веб-сайте можно получить доступ из этого домена.Apache2 перенаправить домен на внутреннюю страницу

Однако страница a.com/test/ должна перенаправляться на сайт b.com (а не b.com/test/), чтобы отображать содержимое с сервера, и этот контент также должен отображаться при непосредственном доступе к b.com ,

Я думал, что обратные прокси-серверы могут быть способом, но им не повезло, мне было интересно, возможно ли это сделать в моем файле .htaccess (оба домена указывают на сервер).

ответ

1

Вам не нужен обратный прокси. До тех пор, пока DNS-сервер a.com и b.com указывает на один и тот же сервер Apache, вы можете установить это, просто используя vhosts и перенаправление.

Для bhost vhost просто введите DocumentRoot тестовую папку (полный путь). Если это невозможно, вы также можете сделать это через htaccess.

Для редиректа, добавьте в файл Htaccess в корневом каталоге документов A.COM в:

RewriteEngine On 
RewriteCond %{HTTP_HOST} a\.com$ [NC] 
RewriteRule ^test/(.*)$ http://b.com/$1 [L,R=301] 

и домен B.ru, если вы не можете установить DocumentRoot в виртуальном хосте

RewriteCond %{HTTP_HOST} b\.com$ [NC] 
RewriteCond $1 !^test/ 
RewriteRule ^(.*)$ /test/$1 [L] 
+0

Благодаря! Будет ли это работать, если я использую Wordpress, поэтому каталог/test/уже переписан (из-за постоянных ссылок Wordpress)? – Zak

+0

Если вы используете wordpress, то удаление части постоянной ссылки приведет к запутыванию wordpress и приведет к ее неработоспособности, для второй части (b.com) вам может потребоваться найти специальное решение Wordpress, например плагин –

+0

Даже если он находится в htaccess, wordpress смотрит на запрошенный URI, и он не увидит '/ test /' в запрошенном URI, поэтому он вернет 404. Неважно, что вы делаете в htaccess. –