Перенаправить все запросы из старого домена в новый домен
Я хочу перейти из старого домена в новый.
У меня есть старый домен 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]