PowerPartners.ru

Форум партнерской программы
Текущее время: 28 мар 2024, 14:04

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Изменение url на ЧПУ
СообщениеДобавлено: 28 июн 2020, 16:11 
Не в сети

Зарегистрирован: 11 окт 2017, 00:31
Сообщения: 76
admin писал(а):
А вот такая вольность уже не получится. Тут нет однозначности, из вашего же примера a-hybrid-500, как тут разобрать что здесь одна приставка, а не две? Получается, что "а" и "hybrid" это 2 приставки, а "500" - код товара.

Все эти фокусы с mod_rewrite работают лишь пока сохраняется однозначность.

Либо всегда 2 приставки с дефисами, либо используйте другой символ(ы) как разделитель приставок и кода товара.

А то, что не редиректит с в двумя дефисами?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение url на ЧПУ
СообщениеДобавлено: 29 июн 2020, 14:39 
Не в сети

Зарегистрирован: 11 окт 2017, 00:31
Сообщения: 76
И все же.. Не получается редирект со старого ЧПУ на новый!
Использую:
Код:
RewriteRule ^([^-]*)-(.*)\/$ product.php?product=$2 [L,E=RDR:1]

Если код товара не имеет дефиса, то получается. Например:
RewriteRule ^x\/is550/$ y/z-is550 [R=301,L,QSA] (редирект с http://mysite.ru/x/is550 на http://mysite.ru/y/z-550 прошел)
Если код товара имеет дефис, то не получается. Например:
RewriteRule ^x\/hybrid-3000/$ a/b-hybrid-3000 [R=301,L,QSA] (редирект с http://mysite.ru/x/hybrid-3000 на http://mysite.ru/a/b-hybrid-3000 не прошел)


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение url на ЧПУ
СообщениеДобавлено: 29 июн 2020, 18:43 
Не в сети

Зарегистрирован: 11 окт 2017, 00:31
Сообщения: 76
AndyGib писал(а):
И все же.. Не получается редирект со старого ЧПУ на новый!
Использую:
Код:
RewriteRule ^([^-]*)-(.*)\/$ product.php?product=$2 [L,E=RDR:1]

Если код товара не имеет дефиса, то получается. Например:
RewriteRule ^x\/is550/$ y/z-is550 [R=301,L,QSA] (редирект с http://mysite.ru/x/is550 на http://mysite.ru/y/z-550 прошел)
Если код товара имеет дефис, то не получается. Например:
RewriteRule ^x\/hybrid-3000/$ a/b-hybrid-3000 [R=301,L,QSA] (редирект с http://mysite.ru/x/hybrid-3000 на http://mysite.ru/a/b-hybrid-3000 не прошел)

Не подскажете, как правильно сделать?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение url на ЧПУ
СообщениеДобавлено: 30 июн 2020, 11:38 
Не в сети

Зарегистрирован: 22 апр 2013, 11:34
Сообщения: 492
Попробуйте
Код:
RewriteRule ^([^-]*)-(\D.*)\/$ product.php?product=$2


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение url на ЧПУ
СообщениеДобавлено: 30 июн 2020, 13:51 
Не в сети
Администратор

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2478
AndyGib писал(а):
И все же.. Не получается редирект со старого ЧПУ на новый!
Использую:
Код:
RewriteRule ^([^-]*)-(.*)\/$ product.php?product=$2 [L,E=RDR:1]

Если код товара не имеет дефиса, то получается. Например:
RewriteRule ^x\/is550/$ y/z-is550 [R=301,L,QSA] (редирект с http://mysite.ru/x/is550 на http://mysite.ru/y/z-550 прошел)
Если код товара имеет дефис, то не получается. Например:
RewriteRule ^x\/hybrid-3000/$ a/b-hybrid-3000 [R=301,L,QSA] (редирект с http://mysite.ru/x/hybrid-3000 на http://mysite.ru/a/b-hybrid-3000 не прошел)


Размещаем ваше правило
Код:
RewriteRule ^([^-]*)-(.*)\/$ product.php?product=$2 [L,E=RDR:1]
на stabiltech.ru. Подмечаем, что в отличии от наших советов, в вашем правиле в конце регулярного выражения вдруг появилось "\/". Значит правило теперь срабатывает при наличии в конце URL символа "/"

Пробуем ваш же пример, слегка его модифицировав под ваши изменения: http://stabiltech.ru/y/z-is550/ - работает. На экране информация о is550

Однако не подгружаются таблицы стилей и картинки. Что логично, поскольку ваше изменение с "\/" включает создание виртуальных каталогов и шаблон надо менять с относительных путей на абсолютные. Но само правило работает.

Следующий ваш пример, опять же с добавлением на конце "/" - http://stabiltech.ru/a/b-hybrid-3000/ - опять работает. На экране информация об "Энергия Hybrid-3000(U)" и опять же со слетевшими стилями и картинками из-за создания вами виртуальных каталогов.

Все работает как и должно. В чем суть вопроса?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение url на ЧПУ
СообщениеДобавлено: 30 июн 2020, 16:18 
Не в сети

Зарегистрирован: 11 окт 2017, 00:31
Сообщения: 76
newz писал(а):
Попробуйте
Код:
RewriteRule ^([^-]*)-(\D.*)\/$ product.php?product=$2

Что заметил при данном раскладе: Если в коде товара вторым словом стоит цифра, то редиректит, например:
snvt-6000-3, lux-500, rack-135-m-5
Если вторым словом стоят буквы, то не редиректит, например:
energy-sai-220, resanta-lux-1500, delta-hr-12-100


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение url на ЧПУ
СообщениеДобавлено: 06 июл 2020, 14:54 
Не в сети

Зарегистрирован: 11 окт 2017, 00:31
Сообщения: 76
AndyGib писал(а):
newz писал(а):
Попробуйте
Код:
RewriteRule ^([^-]*)-(\D.*)\/$ product.php?product=$2

Что заметил при данном раскладе: Если в коде товара вторым словом стоит цифра, то редиректит, например:
snvt-6000-3, lux-500, rack-135-m-5
Если вторым словом стоят буквы, то не редиректит, например:
energy-sai-220, resanta-lux-1500, delta-hr-12-100

Нет больше вариантов?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение url на ЧПУ
СообщениеДобавлено: 06 июл 2020, 16:09 
Не в сети
Администратор

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2478
AndyGib писал(а):
Нет больше вариантов?

Ну как нет-то? На тему однозначности преобразований ответ даден тут. Работа с НЕОДНОЗНАЧНЫМИ преобразованиями невозможно не только технически, но с точки зрения здравого смысла. Можно даже не ждать ответа, его не будет, поскольку для неоднозначных преобразований он не возможен в принципе.

А ваш пример с однозначными преобразованиями через косую черту (который у вас якобы не работает) разобран тут. Все там работает, можете проверить на stabiltech.ru

Что еще вы ожидаете услышать?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение url на ЧПУ
СообщениеДобавлено: 05 окт 2020, 14:22 
Не в сети

Зарегистрирован: 11 окт 2017, 00:31
Сообщения: 76
admin писал(а):
Везде в шаблонах (/theme/*.tmpl), ссылку на товары делаем так:
Код:
<a href="/<TMPL_VAR NAME='prefix'>-<TMPL_VAR NAME='code'>.htm">

Добрый день. Скажите, пожалуйста, а как вставить переменную <TMPL_VAR NAME='prefix'> в search.js в этот кусок:
Код:
result_items += '<li><a href="product.php?product=' + $product[0].code + '">' + $product[0].category + ' ' + $product[0].trademark + ' ' + $product[0].model + '<small class="search-prod-price">' + $product[0].fprice + ' руб.</small></a></li>';
                        });
, чтобы поиск по сайту нормально работал с prefix-ом?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Изменение url на ЧПУ
СообщениеДобавлено: 05 окт 2020, 20:48 
Не в сети
Администратор

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2478
Код:
result_items += '<li><a href="/' + $product[0].prefix + '-' + $product[0].code + '.htm' + '">' + $product[0].category + ' ' + $product[0].trademark + ' ' + $product[0].model + '<small class="search-prod-price">' + $product[0].fprice + ' руб.</small></a></li>';
                        });


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB