Перенаправить все запросы из старого домена в новый домен

Я хочу перейти из старого домена в новый.

У меня есть старый домен olddomain.com и новый домен newdomain.com указывающий на тот же ip-адрес.

У меня есть сервер Apache для обработки запросов.

Как 301 redirect все мои 301 redirect

olddomain.com/*

&

www.olddomain.com/*

в

newdomain.com/*

Могу ли я получить точное регулярное выражение или конфигурацию, которые мне нужно добавить в htaccess.

Мой newdomain.com и olddomain.com оба являются serverd одним и тем же Apache с одного и того же IP-адреса, поэтому перенаправление "/" может привести к циклам? И так искал эффективный способ

Я пытался

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^localhost$ [OR]
    #  RewriteCond %{HTTP_HOST} ^www.olddomain.com$
    RewriteRule (.*)$ http://comp16/$1 [R=301,L]
</IfModule>

И даже попытался добавить в виртуальный хост

RedirectMatch (.*)\.jpg$ http://comp17$1.jpg 

Но он не перенаправляет сайт, когда я нахожу localhost в браузере до имени моего компьютера, то есть comp16

Ответы

Ответ 1

В конфигурации (VirtualHost) для каждого из ваших компьютеров olddomain.com попробуйте следующее:

Redirect permanent / http://newdomain.com/

Документация Apache для перенаправления. Это предпочтительный способ, когда все должно быть перенаправлено. Если вы должны использовать mode_rewrite/htaccess на SO есть много вопросов, и один из них:

Как переадресовать один домен на другой, если первый имеет путь к папке

РЕДАКТИРОВАТЬ
Рекомендация от Apache относительно простых переадресаций:

mod_alias provides the Redirect and RedirectMatch directives, which provide a means to
redirect one URL to another. This kind of simple redirection of one URL, or a class of 
URLs, to somewhere else, should be accomplished using these directives rather than 
RewriteRule. RedirectMatch allows you to include a regular expression in your 
redirection criteria, providing many of the benefits of using RewriteRule.

Ответ 2

Напишите приведенный ниже код в свой.htaccess и перенаправите весь свой старый запрос домена в новый домен.

RewriteEngine on
RewriteBase /
RewriteRule (.*) http://newdomain.com/$1 [R=301,L]