Помогите пожалуйста с редиректом 301

A8
На сайте с 15.03.2012
Offline
0
1067

Решил один сайт перенести с друпала на блогспот. Не могу полностью настроить редирект 301.

И так, имеем сайты А.com и Б.com. Нужно, что бы при входе на А.com редирект вел на Б.com. Также при входе на A.com/страница1 был редирект на B.com/stranica1, на A.com/страница2 редирект на B.com/stranica2.

Прописал в htaccess

Redirect 301 /страница1 http://Б.com/stranica1

Redirect 301 /страница2 http://Б.com/stranica2

Редирект на страницы уже работает. Теперь нужно что бы работал редирект с главной страницы сайта А на главную сайта Б. И тут самое интересное. Если прописать что-то типа Redirect 301 / /Б.com то перестают работать редиректы на уже прописанные страницы.

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

Так же нужно поставить редиректы так, что бы если нет аналога страницы с А.com на Б.com, то был редирект на главную Б.com. Потому что есть некоторые материалы, которые не переносил на Б.com

siv1987
На сайте с 02.04.2009
Offline
427
#1
andriy85if:
Редирект на страницы уже работает. Теперь нужно что бы работал редирект с главной страницы сайта А на главную сайта Б. И тут самое интересное. Если прописать что-то типа Redirect 301 / /Б.com

Попробуйте редирект главной поставить последним в списке.

andriy85if:
Так же нужно поставить редиректы так, что бы если нет аналога страницы с А.com на Б.com, то был редирект на главную Б.com. Потому что есть некоторые материалы, которые не переносил на Б.com

Либо редиректите все, либо пишите построчно. Htaccess не обладает телепатией и не знает если у вас такая страница на сайте Б или нету.

A8
На сайте с 15.03.2012
Offline
0
#2

Спасибо за ответ! ...

на счет: "Либо редиректите все, либо пишите построчно. Htaccess не обладает телепатией и не знает если у вас такая страница на сайте Б или нету."

то действительно так сделаю... там не много страниц

а на счет: "Попробуйте редирект главной поставить последним в списке."

Я ставил уже последней запись Redirect 301 / /Б.com ... не подходит.. получается что "/" означает и главную и вообще все страницы. А мне нужно только главную. Не подскажите как указать именно одну главную страницу?

siv1987
На сайте с 02.04.2009
Offline
427
#3

RedirectMatch 301 ^/$ siteB

ukrdev
На сайте с 15.11.2011
Offline
31
#4
andriy85if:
Я ставил уже последней запись Redirect 301 / /Б.com ... не подходит.. получается что "/" означает и главную и вообще все страницы. А мне нужно только главную. Не подскажите как указать именно одну главную страницу?

укажите индексный файл


Redirect 301 /index.php http://site.ru/
andriy85if:

Так же нужно поставить редиректы так, что бы если нет аналога страницы с А.com на Б.com, то был редирект на главную Б.com. Потому что есть некоторые материалы, которые не переносил на Б.com

Посредством .htaccess выполнить такую проверку невозможно, т.к. после того как происходит редирект с А.com на Б.com, .htaccess на А.com который производил редирект уже ни за что не отвечает и в дело вступает .htaccess который на Б.com.

А т.к. запрашиваемой страницы на Б.com не существует, вылезет 404 страница.

1. Можно этой страницей назначит index.php, поисковики к такому отнесутся нормально, а вот юзеры будут в недоумении.

ErrorDocument 404 /index.php

2. Более гуманный вариант на А.ком завернуть запросы на скрипт и уже в скрипте делать проверку на Б.ком и если 404 делать редирект уже скриптом.

A8
На сайте с 15.03.2012
Offline
0
#5

Спасибо за ответы!

Для редиректа главной страницы использовал вариант с RedirectMatch 301 ^/$ siteB .... а другие страницы которых нет на сайте Б оставил так как есть... они теперь идут на ошибку 404 на сайте А. Поскольку их теперь нет на сайте Б... то не буду перенаправлять на главную сайта Б, поскольку неизвестно как это воспримет Гугл... если страница с конкретным материалом перенаправляется на страницу на которой нет этого материала.

Devvver
На сайте с 02.07.2008
Offline
691
#6
andriy85if:
Redirect 301 /страница1 http://Б.com/stranica1
Redirect 301 /страница2 http://Б.com/stranica2
Редирект на страницы уже работает. Теперь нужно что бы работал редирект с главной страницы сайта А на главную сайта Б. И тут самое интересное. Если прописать что-то типа Redirect 301 / /Б.com то перестают работать редиректы на уже прописанные страницы.

Столкнулся с той же проблемой - решилось вот таким кодом

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.php$ http://www.xxx.ru/ [R=301,L]
RewriteCond %{HTTP_HOST} ^xxx\.ru$ [NC]
RewriteRule ^(.*)$ http://www.xxx.ru/$1 [R=301,L]

Для вашей цмс может конечно не пойти - но попробуйте

Тут редирект с главной index.html и склейка с www домена(можете использовать др домен.)

Мой блог. Все о создании сайтов,Seo и СДЛ ( https://e-moldovanu.com/ ) Мой SEO телеграм канал https://t.me/seobloggers

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий