Автор Тема: Как правильно прописать 301 редирект?  (Прочитано 4144 раз)

10 Июля 2012, 20:43:08
  • Пользователь
  • **
  • Сообщений: 76
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте.
Хочу поменять движек на другой на одном из интернет-магазинов. Как правильно прописать 301 редирект, чтобы со всех старых страниц которые некоторое время будут находится в индексе выполнялась переадресация на главную страницу магазина?
11 Июля 2012, 09:42:18
Ответ #1
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102470
  • Репутация: +34217/-0
    • Просмотр профиля
Вы меняете prestashop на другой движок. Правила в htaccess нужно добавлять с учетом используемого движка.
11 Июля 2012, 12:38:05
Ответ #2
  • Пользователь
  • **
  • Сообщений: 76
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да, именно так. Мне нужно чтобы со всех старых страниц шел редирект на главную страницу сайта.
11 Июля 2012, 14:39:14
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86198
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если не учитывать движок, то можно обычными правилами для  сохрания seo старой страницы:
Redirect 301 /old.htm http://www.site.ru/new.htm
11 Июля 2012, 14:57:15
Ответ #4
  • Пользователь
  • **
  • Сообщений: 76
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Мне не нужен редирект со старой страницы на новую Нужен с любой старой страницы чтобы попадал человек на главную Интренет-магазина.
12 Июля 2012, 09:39:51
Ответ #5
  • Пользователь
  • **
  • Сообщений: 76
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Сейчас в Интернет магазине есть такие адреса страниц:
http://site.ru/sections/kiyv
http://site.ru/sections/donezk
http://site.ru/sections/155
http://site.ru/sections/190
http://site.ru/sections/payment
http://site.ru/sections/agreement

http://site.ru/catalog/1
http://site.ru/catalog/23

http://site.ru/news/4
http://site.ru/news/3

http://site.ru/articles/7
http://site.ru/articles/3

http://site.ru/products/81
http://site.ru/products/198

Какие нужно написать правила чтобы из всех этих адресов выполнялась переадресация на главную страницу сайта?
12 Июля 2012, 12:56:07
Ответ #6
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 102470
  • Репутация: +34217/-0
    • Просмотр профиля
Выше указан пример Redirect 301. Вам нужно только подставить свои значения. Если не знаете как работатьс htaccess, можно воспользоваться сервисом Автоматический генератор файла htaccess
12 Июля 2012, 13:16:40
Ответ #7
  • Пользователь
  • **
  • Сообщений: 76
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Сгенерировал генератором

Redirect 301 http://site.com/sections/agreement site.com

RedirectMatch 301 http://site.com/catalog/1(.*) site.com/$1

Вставил в .htaccess и получил ошибку:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@site.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
10 Марта 2015, 13:47:13
Ответ #8
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
Добрый день,

Такой вопрос. Магазин на prestashop 1.6.0.8, нужно сделать 301 редирект с домена без www на домен с www. В файле .htaccess прописал следующее:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^мой сайт\.ru$ [NC]
RewriteRule ^(.*)$ http://www.мой сайт.ru/$1 [R=301,L]

Проверил в браузере, выдает ошибку что на странице обнаружена циклическая переадресация.
Код ошибки: ERR_TOO_MANY_REDIRECTS

Подскажите, что не так?
10 Марта 2015, 14:40:19
Ответ #9
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86198
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У вас домен как записан в Настроки > Seo Url ?
10 Марта 2015, 14:45:57
Ответ #10
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
В Настройки > SEO и URl Shop domain и SSL domain прописаны без www, т.е. мой сайт.ru.
10 Марта 2015, 14:51:02
Ответ #11
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86198
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
10 Марта 2015, 15:55:55
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 974
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Если не учитывать движок, то можно обычными правилами для  сохрания seo старой страницы:
Redirect 301 /old.htm http://www.site.ru/new.htm

Самый простой способ, будут перадресовываться все страницы старого сайта на главную нового, или любую какую хотите.
RedirectPermanent www.старый сайт.ru/ http://www.новый сайт.ru/
Эта строка прописывается в .htaccess на старом сайте.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
10 Марта 2015, 16:24:04
Ответ #13
  • Старожил
  • ****
  • Сообщений: 299
  • Репутация: +0/-0
  • Новичек
    • Просмотр профиля
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]


В файле .htaccess прописал вышеописанное, выдает такую же ошибку : Код ошибки: ERR_TOO_MANY_REDIRECTS
10 Марта 2015, 16:31:26
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 974
  • Репутация: +5/-0
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
У меня стандартный редирект 301 тоже не получился
Не боги горшки обжигают, не зачем им такой хренью заниматься.