Перенаправление в другой домен, но сохранить введенный домен
Посмотрев в Интернете около часа, я не нашел ответа на свой вопрос. Поэтому я ищу неправильные ключевые слова или то, что я хочу, невозможно.
Что я хочу:
У меня несколько доменов с разными расширениями, например:
Теперь я хочу, чтобы mydomain.be перенаправлен на mydomain.nl. Решение для этого я нашел в Интернете и показано ниже, с необходимостью .htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.be$ [OR]
RewriteCond %{HTTP_HOST} ^www.mydomain.be$
RewriteRule (.*)$ http://www.mydomain.nl/$1 [R=301,L]
С помощью этого кода при вводе mydomain.be вы будете перенаправлены на mydomain.nl. Но также URL-адрес в адресной строке изменен на mydomain.nl. Я хочу сохранить URL-адрес в адресной строке mydomain.be.
Итак, mydomain.be:
- сохранить URL
- показать содержимое mydomain.nl
Как?
Ответы
Ответ 1
Это можно сделать с помощью mod_rewrite, но убедитесь, что mod_proxy включен в вашем Apache httpd.conf. Как только это будет сделано, включите mod_rewrite и .htaccess через httpd.conf
, а затем поместите этот код в свой .htaccess
в каталог DOCUMENT_ROOT
:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.be$ [NC]
RewriteRule ^ http://www.mydomain.nl%{REQUEST_URI} [L,NE,P]
Обратите внимание на флаг P
, который используется для обработки запроса прокси.
Подробнее о флагове: P в mod_rewrite
Ответ 2
Другим вариантом без hassling с .htaccess
было бы указать оба домена на один и тот же корень документа или установить один домен в качестве псевдонима для другого, в зависимости от того, как вы можете настроить свой Apache. Однако это имеет минусы:
- Если ваша система управления контентом использует абсолютные URL-адреса, пользователь, который нажимает на mydomain.nl на ссылку, будет перенаправлен на домен mydomain.be(например, WordPress делает это).
- Поисковые системы наказывают это поведение, помещая вас дальше в результаты поиска. по крайней мере, в Google, у них есть интересное сообщение о дублированном контенте. Не уверен в отношении конкурентов.
Пример конфигурации apache:
<VirtualHost *:80>
ServerName mydomain.nl
ServerAlias mydomain.be
DocumentRoot /var/www/mydomain.nl/htdocs
</VirtualHost>