PowerPartners.ru

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

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




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

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2478
Код:
RewriteRule ^([^-]*)-(.*)\.htm$ /product.php?product=$2 [QSA,L]

Получаем:
http://mysite.ru/stabilyzator-ach-500.htm
http://mysite.ru/invertor-pn-1000h.htm

и даже:
http://mysite.ru/safasfasf-is350.htm

В /custom/shop.xml
Код:
<?xml version="1.0" encoding="utf-8"?>
<shop>
  <products>
    <product code="ach-500">
      <prefix>stabilyzator</prefix>
    </product>
    <product code="pn-1000h">
      <prefix>invertor</prefix>
    </product>
    <product code="is350">
      <prefix>safasfasf</prefix>
    </product>
  </products>
</shop>

Везде в шаблонах (/theme/*.tmpl), ссылку на товары делаем так:
Код:
<a href="/<TMPL_VAR NAME='prefix'>-<TMPL_VAR NAME='code'>.htm">


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

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

Получаем:
http://mysite.ru/stabilyzator-ach-500.htm
http://mysite.ru/invertor-pn-1000h.htm

и даже:
http://mysite.ru/safasfasf-is350.htm

В /custom/shop.xml
Код:
<?xml version="1.0" encoding="utf-8"?>
<shop>
  <products>
    <product code="ach-500">
      <prefix>stabilyzator</prefix>
    </product>
    <product code="pn-1000h">
      <prefix>invertor</prefix>
    </product>
    <product code="is350">
      <prefix>safasfasf</prefix>
    </product>
  </products>
</shop>

Везде в шаблонах (/theme/*.tmpl), ссылку на товары делаем так:
Код:
<a href="/<TMPL_VAR NAME='prefix'>-<TMPL_VAR NAME='code'>.htm">

Очень благодарен, попробую!


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

Зарегистрирован: 11 окт 2017, 00:31
Сообщения: 76
Доброго времени суток. Мне бы еще теперь сделать редирект со старого
Код:
 RewriteRule ^x-(.*)\.htm$ /product.php?product=$1 [QSA,L]

на новый
Код:
  RewriteRule ^([^-]*)-(.*)\.htm$ /product.php?product=$2 [QSA,L]

Как это сделать? Спасибо.


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

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2478
Никак. И все опять же из-за отсутствия однозначности. Например, было у вас /x-ach-500.htm, а новые: /stabilyzator-ach-500.htm, /invertor-pn-1000h.htm и /safasfasf-is350.htm. Нету однозначности на что заменять старый префикс "x", на "stabilyzator", "invertor" или на "safasfasf"? Веб-сервер то не умеет в /custom/shop.xml заглядывать и парсить его, чтобы понять какой префикс у какого товара теперь стал.

Единственный способ вручную прописывать каждый товар:
Код:
RewriteRule ^x-ach-500\.htm$ /stabilyzator-ach-500.htm [R=301,L,QSA]
RewriteRule ^x-pn-1000h\.htm$ /invertor-pn-1000h.htm [R=301,L,QSA]
RewriteRule ^x-is350\.htm$ /safasfasf-is350.htm.htm [R=301,L,QSA]


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

Зарегистрирован: 11 окт 2017, 00:31
Сообщения: 76
admin писал(а):
Никак. И все опять же из-за отсутствия однозначности. Например, было у вас /x-ach-500.htm, а новые: /stabilyzator-ach-500.htm, /invertor-pn-1000h.htm и /safasfasf-is350.htm. Нету однозначности на что заменять старый префикс "x", на "stabilyzator", "invertor" или на "safasfasf"? Веб-сервер то не умеет в /custom/shop.xml заглядывать и парсить его, чтобы понять какой префикс у какого товара теперь стал.

Единственный способ вручную прописывать каждый товар:
Код:
RewriteRule ^x-ach-500\.htm$ /stabilyzator-ach-500.htm [R=301,L,QSA]
RewriteRule ^x-pn-1000h\.htm$ /invertor-pn-1000h.htm [R=301,L,QSA]
RewriteRule ^x-is350\.htm$ /safasfasf-is350.htm.htm [R=301,L,QSA]

Понятно. Спасибо


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

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

Получаем:
http://mysite.ru/stabilyzator-ach-500.htm
http://mysite.ru/invertor-pn-1000h.htm

и даже:
http://mysite.ru/safasfasf-is350.htm


Доброго времени. Скажите, а как сделать, например, не http://mysite.ru/safasfasf-is350.htm, а http://mysite.ru/dop-safasfasf-is350.htm ?? Т.е. перед кодом товара вставить не одно слово, например, а два, или больше слов, разделенных дефисами
З.Ы. И еще интересует, разница в коде товара, одним словом (is350), и через дефис (lux-500, rack-135-m-5)... При, например, замене [^-] на др символ (не дефис), а также при редиректе, ЧПУ ведет себя по-разному


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

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2478
AndyGib писал(а):
Скажите, а как сделать, например, не http://mysite.ru/safasfasf-is350.htm, а http://mysite.ru/dop-safasfasf-is350.htm ?? Т.е. перед кодом товара вставить не одно слово, например, а два, или больше слов, разделенных дефисами

Код:
RewriteRule ^([^-]*)-([^-]*)-(.*)\.htm$ /product.php?product=$3 [QSA,L]


AndyGib писал(а):
З.Ы. И еще интересует, разница в коде товара, одним словом (is350), и через дефис (lux-500, rack-135-m-5)... При, например, замене [^-] на др символ (не дефис), а также при редиректе, ЧПУ ведет себя по-разному

Вопрос не понят.


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

Зарегистрирован: 11 окт 2017, 00:31
Сообщения: 76
admin писал(а):
AndyGib писал(а):
Скажите, а как сделать, например, не http://mysite.ru/safasfasf-is350.htm, а http://mysite.ru/dop-safasfasf-is350.htm ?? Т.е. перед кодом товара вставить не одно слово, например, а два, или больше слов, разделенных дефисами

Код:
RewriteRule ^([^-]*)-([^-]*)-(.*)\.htm$ /product.php?product=$3 [QSA,L]


AndyGib писал(а):
З.Ы. И еще интересует, разница в коде товара, одним словом (is350), и через дефис (lux-500, rack-135-m-5)... При, например, замене [^-] на др символ (не дефис), а также при редиректе, ЧПУ ведет себя по-разному

Вопрос не понят.

например:
при
Код:
RewriteRule ^cat\/is550/$ a-b-is550 [R=301,L,QSA]
редиректит
Код:
RewriteRule ^cat\/hybrid-500/$ a-b-hybrid-5000 [R=301,L,QSA]
редиректит
Код:
RewriteRule ^cat\/resanta-lux-1500/$ a-b-resanta-lux-1500 [R=301,L,QSA]
не редиректит
Код:
RewriteRule ^cat\/rack-135-m-5/$ a-b-rack-135-m-5 [R=301,L,QSA]
не редиректит
Т.е. если код товара не содержит, или содержит одни дефис, то редиректит. Если два и более дефисов, то нет.


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

Зарегистрирован: 11 окт 2017, 00:31
Сообщения: 76
И еще...
Код:
RewriteRule ^([^-]*)-(.*)\.htm$ /product.php?product=$2 [QSA,L]
RewriteRule ^([^-]*)-([^-]*)-(.*)\.htm$ /product.php?product=$3 [QSA,L]

Как бы объединить? Чтобы было не одно ИЛИ два слова, перед кодом товара, а на выбор, где одно, а где два слова?
Например:
Код:
RewriteRule ^cat\/hybrid-500/$ a-b-hybrid-500 [R=301,L,QSA]

и в тоже время
Код:
RewriteRule ^cat\/hybrid-500/$ a-hybrid-500 [R=301,L,QSA]


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

Зарегистрирован: 12 дек 2008, 01:50
Сообщения: 2478
А вот такая вольность уже не получится. Тут нет однозначности, из вашего же примера a-hybrid-500, как тут разобрать что здесь одна приставка, а не две? Получается, что "а" и "hybrid" это 2 приставки, а "500" - код товара.

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

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


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

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 5


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

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