Перенаправление домена без изменения URL
В этой статье «Перенаправление домена без изменения URL» я приведу несколько способов перенаправить ваш сайта на другой адрес, не меняя домен.
Пример 1: Перенаправление с удержанием всего что после URL-а:
Первый вариант будет показать все содержимое одного URL-а и передавать параметры в другой. Например, если вы только что изменили свой домен на Domain_name_B.org, но вы все еще имеете много посетителей которые помнят, используют ( нравится) домен Domain_name_A.org, то вы должны использовать данное перенаправление (которое внизу).
Apache.
Чтобы сделать это, вы должны изменить свой .htaccess файл для домена и вставьте следующие строки кода:
RewriteCond %{HTTP_HOST} ^Domain_name_A.org RewriteRule ^(.*) http://Domain_name_B.org/$1 [P]
Если вы используете файловый менеджер в CPanel, убедитесь, что у вас есть возможность показать скрытые файлы.
Что делает редирект что выше?
После добавления этой строки в файл .htaccess, вы сможете перейти к Domain_name_A.org/My_page и он будет перенаправлен на Domain_name_B.org/My_page
Nginx.
Так же редирект, но на nginx будет выглядеть следующим образом:
# nginx configuration location / { if ($http_host ~ "^Domain_name_A.org"){ rewrite ^/(.*) http://Domain_name_B.org/$1 redirect; } }
Добавляем его в Ваш хост, например:
# vim /etc/nginx/conf.d/linux-notes.org.conf
И заменяем Domain_name_A.org и Domain_name_B.org на соответствующие домены (URL-ы).
Пример 2: Перенаправление домена на определенный URL
Apache.
Существует еще один способ сделать ваш перенаправление, чтобы показать определенный URL, но сохранить домен же, как хорошо. Если вы хотите, чтобы посетители, чтобы перейти к DomainA.com с определенной страницы в виду, когда делает это так, вы можете использовать этот код:
RewriteCond %{HTTP_HOST} ^Domain_name_A.org RewriteRule ^(.*) http://Domain_name_B.org/Path_To_Page_Here [P]
Вы должны использовать этот метод, если, например, вы используете поддомен и ходите сделать перенаправление в конкретную папку или у Вас есть отдельный блок ( например покупка-продажа).
Nginx.
Так же редирект, но на nginx будет выглядеть следующим образом:
# nginx configuration location / { if ($http_host ~ "^Domain_name_A.org"){ rewrite ^/(.*) http://Domain_name_B.org/Path_To_Page_Here redirect; } }
Добавляем его в Ваш хост, например:
# vim /etc/nginx/conf.d/linux-notes.org.conf
И заменяем Domain_name_A.org и Domain_name_B.org на соответствующие домены (URL-ы) и путь к нужному редиректу (папку).
Пример 3: Перенаправление IP адреса на URL
Apache.
Иногда, необходимо направить IP адрес к конкретному URL. Следующий код показывает, как это может быть сделано в файле .htaccess.
Перенаправление IP-адреса (нужно заменить XX Ваш на IP-адрес) на указанный домен (URL) http://domain_name.org:
RewriteCond %{HTTP_HOST} ^XX\.XX\.XX\.## RewriteRule (.*) http://domain_name.org/$1 [R=301,L]
Nginx.
Так же редирект, но на nginx будет выглядеть следующим образом:
# nginx configuration location / { if ($http_host ~ "^XX\.XX\.XX\."){ rewrite ^(.*)$ http://domain_name.org/$1 redirect; } }
Добавляем его в Ваш хост, например:
# vim /etc/nginx/conf.d/linux-notes.org.conf
И заменяем Domain_name.org на соответствующие домен (URL) и, ХХ — на Ваш IP.
Внимание: При использовании первого варианта, поисковые системы, такие как Google или Bing увидите несколько сайтов с одинаковым содержанием и может привести к падению Вашего рейтинга (ранга) в одном или обоих сайтов. С точки зрения SEO, лучшим вариантом является создание 301 перенаправляет вместо этого.
создание 301 и 302-го перенаправления
По этому, будьте предельно осторожны с перенаправлениями!
Моя тема «Перенаправление домена без изменения URL» завершена.
А как насчёт примера для nginx? Очень кстати было бы.
Уместное замечание. Попозже дополню данную статью 🙂