Редирект 301 в .htaccess

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

evgkiev
evgkiev
Репутация: 0
Сообщения: 25
Зарегистрирован: 15.11.2019
С нами: 4 года 4 месяца

Сообщение #1 evgkiev » 14.01.2020, 20:55

Подскажите пожалуйста кто знает. Включил ЧПУ v 3.3.5 сайт/название_товара, а проиндексировано сайт/products/название_товара и сайт/ua/products/название_товара. Из этого вопрос. Как сделать редирект 301 в .htaccess вместо https://site.com/products/tovar_1 чтобы переадресовывало на https://site.com/tovar_1 с учётом того что сайт на двух языках, то есть https://site.com/products/tovar_1 и https://site.com/ua/products/tovar_1 соответственно нужно https://site.com/tovar_1 и https://site.com/ua/tovar_1

Перепробовал разные варианты что нашел в гугле, но максимум получилось переадресовать на главную страницу.
ЧПУ конечно вещь хорошая это круто/классно, но с редиректом уже проиндексированных страниц немного промахнулись)

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #2 korshunov » 15.01.2020, 06:13

Скорее всего, редирект у Вас сделан верно и работает - это вопрос простой. А дело, видимо, в том. что сайт не обрабатывает корректно адреса типа https://site.com/tovar_1 - он это не умеет. И научить его этому - проблема, похоже, весьма непростая.

Во всяком, случае, в теме
viewtopic.php?p=6464#p6464
подобный вопрос уже поднимался. Там ведущий разработчик ничего не смог сказать по существу вопроса, отделывался лишь общими фразами типа "Нам больше по душе делать быстроменяющийся продукт, который мы готовы на первых этапах демонстрировать каждую неделю и прислушиваясь к пожеланиям пользователей развивать его в ту сторону". А приводит это к тому, что по тому вопросу (который близок к Вашему) уже почти полгода развития никакого нет. А вопрос-то хороший и время от времени всплывает...

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #3 OkayCMS » 15.01.2020, 07:34

evgkiev писал(а):Подскажите пожалуйста кто знает. Включил ЧПУ v 3.3.5 сайт/название_товара, а проиндексировано сайт/products/название_товара и сайт/ua/products/название_товара. Из этого вопрос. Как сделать редирект 301 в .htaccess вместо https://site.com/products/tovar_1 чтобы переадресовывало на https://site.com/tovar_1 с учётом того что сайт на двух языках, то есть https://site.com/products/tovar_1 и https://site.com/ua/products/tovar_1 соответственно нужно https://site.com/tovar_1 и https://site.com/ua/tovar_1

Перепробовал разные варианты что нашел в гугле, но максимум получилось переадресовать на главную страницу.
ЧПУ конечно вещь хорошая это круто/классно, но с редиректом уже проиндексированных страниц немного промахнулись)

Попробуйте следующий редирект
# Убираем products
RewriteRule ^products(.*)$ https://okay-cms.com$1 [R=301,L]

Только урл свой подставьте

Добавлено спустя 2 часа 40 минут:
Такой способ не подойдет, урл products используется в ссылках на фото.

Возможно стоит подумать как это сделать через код, а не в htaccess

evgkiev
evgkiev
Репутация: 0
Сообщения: 25
Зарегистрирован: 15.11.2019
С нами: 4 года 4 месяца

Сообщение #4 evgkiev » 15.01.2020, 10:15

OkayCMS писал(а):Попробуйте следующий редирект
# Убираем products
RewriteRule ^products(.*)$ https://okay-cms.com$1 [R=301,L]

так работает когда строка есть https://site.com/products/tovar_1 переадресация идёт на https://site.com/tovar_1
RewriteRule ^products(.*)$ https://site.com$1 [R=301,L]

так работает когда есть строка https://site.com/ua/products/tovar_1 редиректит на https://site.com/ua/tovar_1
RewriteRule ^(.*)/products/(.*)$ /ua/$2 [R=301,L]

По другому не получалось, было то https://site.com/ua/ua то https://site.com/uaua то https://site.comuaua/ Если подскажете вариант проще буду признателен!

zyxer в этой теме viewtopic.php?p=7086#p7086 выложил отличный модуль редиректа, вот бы его доделали чтобы стандартно входил в ближайшую версию, а то ЧПУ есть в системе, а редиректа нет. Как-то вроде сахар и кофе есть, но кипяток закончился)

Добавлено спустя 52 минуты 14 секунд:
Как выяснилось несколько минут назад если использовать редирект в .htaccess и убрать из ссылок products, то пропадают все картинки товаров потому что в их ссылке тоже есть products https://site.com/files/resized/products/kartinka.png

Выходит что если у вас уже есть сайт на другой cms и вы хотите перейти на новую версию Okay то вам нужно писать свой модуль для переадресации старых ссылок или если у вас установлена например Okay 2.3.4 версия или если у вас версия ниже Okay 3.2.0 и есть проидексированные ссылки в поисковиках, то получается смысл ЧПУ вообще теряется как такового. Другое дело только если новый сайт и новая версия Okay.

На текущий момент вернул всё назад к стандарту, буду ждать пока появится модуль редиректа или знающие люди подскажут работающее решение.
Такое ощущение как будто подарили красивый одуванчик, а потом сдули с него все семянки)

Teplogaz
Teplogaz
Репутация: 2
Сообщения: 23
Зарегистрирован: 27.11.2017
С нами: 6 лет 4 месяца

Сообщение #5 Teplogaz » 15.01.2020, 11:30

evgkiev писал(а):zyxer в этой теме viewtopic.php?p=7086#p7086 выложил отличный модуль редиректа, вот бы его доделали чтобы стандартно входил в ближайшую версию, а то ЧПУ есть в системе, а редиректа нет. Как-то вроде сахар и кофе есть, но кипяток закончился)

этот редик отлично отрабатывает, я в теме выкладывал SQL запрос для массовой замены в БД

Код: Выделить всё

INSERT INTO `ok_okaycms__redirects` (`id`, `source`, `destination`) VALUES (NULL, 'старая ссылка', 'новая ссылка');

evgkiev
evgkiev
Репутация: 0
Сообщения: 25
Зарегистрирован: 15.11.2019
С нами: 4 года 4 месяца

Сообщение #6 evgkiev » 15.01.2020, 11:39

Teplogaz писал(а):этот редик отлично отрабатывает, я в теме выкладывал SQL запрос для массовой замены в БД

Я читал ваше сообщение в той теме, но вопрос в том что у меня в индексе 5500 позиций есть, а этот ручной способ совсем не подходит для такого количества проиндексированных ссылок и под фразой "вот бы его доделали чтобы стандартно входил в ближайшую версию" я имел ввиду, чтобы был такой модуль по типу viewtopic.php?p=3509#p3509 только для 3 версий.

Teplogaz
Teplogaz
Репутация: 2
Сообщения: 23
Зарегистрирован: 27.11.2017
С нами: 6 лет 4 месяца

Сообщение #7 Teplogaz » 15.01.2020, 13:05

так модуль же там и выложил zyxer, делов 30 минут, собрать все ссылки которые вы хотите исправить и подставить в SQL запрос

evgkiev
evgkiev
Репутация: 0
Сообщения: 25
Зарегистрирован: 15.11.2019
С нами: 4 года 4 месяца

Сообщение #8 evgkiev » 15.01.2020, 14:35

Teplogaz, вы в той теме писали

Teplogaz писал(а):SQL запрос, добавлять можно списком вставляем относительные ссылки без слеша

подскажите пожалуйста как вы в этот запрос вставляли ссылки? У вас есть скрипт сбора и автовставки или вручную ctrl+c ctrl+v делали?

Teplogaz писал(а):INSERT INTO `ok_okaycms__redirects` (`id`, `source`, `destination`) VALUES (NULL, 'старая ссылка', 'новая ссылка');

Подскажете?

Teplogaz
Teplogaz
Репутация: 2
Сообщения: 23
Зарегистрирован: 27.11.2017
С нами: 6 лет 4 месяца

Сообщение #9 Teplogaz » 15.01.2020, 16:26

собирал Content Downloader-ом, дальше в Excel


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 44 гостя