Автор Тема: Prestahop 1.4 301 редирект перенапрявляет на страницу с get параметром  (Прочитано 343 раз)

16 Июня 2015, 13:14:33
  • Пользователь
  • **
  • Сообщений: 52
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Проблема в следующем. Необходимо заменить урл site.com/e87 на урл site.com/bmw-e87. В файле .htaccess прописано следующее
Redirect 301 /e87 http://site.com/bmw-e87После срабатывания редиректа получаю адрес следующего вида http://site.com/bmw-e87?category_name=e87

Как сделать "чистый" редирект, без данного окончания?
16 Июня 2015, 13:33:33
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
RewriteCond %{REQUEST_URI} ^/e87/$
RewriteRule ^.*$ http://site.ru/bmw-e87/? [R=301,L]
Должно быть включено чпу.
Адрес новой страницы должен быть http://site.ru/bmw-e87/
16 Июня 2015, 14:00:41
Ответ #2
  • Пользователь
  • **
  • Сообщений: 52
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Так редирект не работает вообще, пробовалось ранее.
16 Июня 2015, 14:50:20
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 13147
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если нужно заменить адрес страницы, то исправьте поле чпу при редактировании страницы.
Если нужен редирект со старой ссылки на новую страницу, то 
Redirect 301 /старый+адрес http://site.com/новый+адрес
16 Июня 2015, 14:56:55
Ответ #4
  • Пользователь
  • **
  • Сообщений: 52
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если нужно заменить адрес страницы, то исправьте поле чпу при редактировании страницы.
Если нужен редирект со старой ссылки на новую страницу, то 
Redirect 301 /старый+адрес http://site.com/новый+адрес

В админке адреса исправлены. Данный редирект, как написано выше, редиректит на страницу с get запросом, что и необходимо исправить.
16 Июня 2015, 16:26:30
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 13147
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Redirect 301 /старый+адрес http://site.com/новый+адресНе может редиректить на страницу с get запросом. Это перенаправление с одной старницы на другую без передачи параметров.
У вас адрес с параметрами потому что так заданы правила чпу.
16 Июня 2015, 16:32:35
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 1195
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Можно создать страницу с адресом http://site.ru/e87 и в шаблон добавить такой код:
<?php
header("HTTP/1.1 301 Moved Permanently");
header ("Location: http://site.ru/bmw-e87");
16 Июня 2015, 19:36:02
Ответ #7
  • Новичок
  • *
  • Сообщений: 1
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Присоединяюсь к проблеме при 301 редиректе, появляется в урле "?id_manufacturer=30"
16 Июня 2015, 19:58:04
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 2169
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Если нужно заменить адрес страницы, то исправьте поле чпу при редактировании страницы.
Если нужен редирект со старой ссылки на новую страницу, то 
Redirect 301 /старый+адрес http://site.com/новый+адрес
Проверено, работает. Никаких get параметров нет в адресе.
Добавлять нужно в самом вверху htaccess.
17 Июня 2015, 09:38:50
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 13147
  • Репутация: +14553/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Присоединяюсь к проблеме при 301 редиректе, появляется в урле "?id_manufacturer=30"
Появляться может только при отключенном чпу или не настроенном редиректе в nginx.
17 Июня 2015, 10:42:37
Ответ #10
  • Пользователь
  • **
  • Сообщений: 52
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Чпу включены, никаких других правил построения адреса нет. Еще раз повторюсь, что
Redirect 301 /старый+адрес http://site.com/новый+адрес не работает.
На сайте все работает хорошо, все урлы обрабатываются верно, проблема только при редиректе. Проблема так и не решена.
17 Июня 2015, 10:58:08
Ответ #11
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Адрес сайта какой?
На какой адрес приходит посетитель? 
17 Июня 2015, 11:12:16
Ответ #12
  • Пользователь
  • **
  • Сообщений: 52
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Текущий адрес site.com/bmw-e87 , это новый адрес. Ранее был site.com/e87.
17 Июня 2015, 12:05:14
Ответ #13
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85953
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
С такой информацией можно посоветывать только это.
Redirect 301 /bmw-e87 http://site.com/e87Внешнии переходы будут без параметров, внутрении зависят от схемы чпу.
17 Июня 2015, 12:35:46
Ответ #14
  • Пользователь
  • **
  • Сообщений: 52
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вот как раз внешние переходы с параметрами, при переходе из поисковой выдаче по данному урлу появляется окончание с get запросом. При внутренних переходах все ок.