.htaccess 301 перенаправлять из старого домена в новый домен, тогда как структура страниц и URL-адреса одинаковы
Я хочу перенаправить http://olddomain.com в http://newdomain.com для всех моих URL-адресов. Сохраняя страницу на новом домене.
Я хочу сказать, что это URL, например ниже
http://olddomain.com/home/category/page.html
http://olddomain.com/home/mybook/page2.html
http://olddomain.com/login
should be 301 redirect to the new newdomain but same pages, like below
http://newdomain.com/home/category/page.html
http://newdomain.com/home/mybook/page2.html
http://newdomain.com/login
это то, что у меня есть в моем .htaccess в настоящее время
RewriteEngine on
RewriteCond $1 !^(index\.php|img|public|robots\.txt) [NC]
RewriteRule ^(.*)$ /index.php?/$1 [L]
Пожалуйста, помогите мне сделать это чисто и подробно изложить детали, так как я новичок в этом.
также кто-то знает, сколько времени поисковые системы могут предпринять, чтобы отойти от ссылок моего старого домена? Я имею в виду, что URL-адреса старого домена в поисковых запросах должны быть заменены URL-адресами нового домена... n старый домен должен уходить из поисковых систем.
Ответы
Ответ 1
Добавьте следующий код в начале .htaccess -
RewriteEngine On
# Redirect Entire Site to New Domain
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^another.olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
Ответ 2
Гораздо проще:
Redirect 301 / http://newdomain.com/
Замените файл .htaccess на одну строку или, если у вас есть доступ к нему, поместите его в файл apache для своего старого домена (поместите его в соответствии с директивой DocumentRoot).
Подробнее см. Перенаправление и повторное использование с помощью mod_rewrite.
Ответ 3
Я обычно добавляю следующие коды в .htaccess на старом веб-сайте
#Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
Этот выше код перенаправляет все ссылки на новый домен, вам не нужно ничего делать, каждая ссылка и образы перенаправляются на новую ссылку домена.
Кроме того, мы должны сообщать Google, когда ваш сайт перемещается
Если вы переместили свой сайт в новый домен, вы можете использовать инструмент "Изменить адрес", чтобы сообщить Google о своем новом URL-адресе. Мы обновим наш индекс, чтобы отразить ваш новый URL. Изменения будут действовать в течение 180 дней, и к этому времени мы будем сканировать и индексировать страницы по новому URL-адресу.
Вот ссылка на это https://support.google.com/webmasters/answer/83106?hl=en
Я сделал это для 2 - 3 сайтов, не потеряв seo. Он работает.
Благодаря
Ответ 4
Пытался сделать
LoadModule rewrite_module modules/mod_rewrite.so
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^localhost$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L]
</IfModule>
Но не работал так, как должен, просто пытался указать мой localhost на newdomain.com.
Но когда я нахожусь в локальном хосте, он не указывает.