Автор Тема: Вопрос по ЧПУ в поиске товаров (Преста 1.6 ЧПУ включены)  (Прочитано 1001 раз)

01 Ноябрь 2016, 20:37:32
  • Пользователь
  • **
  • Сообщений: 71
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Когда в поиске вводишь текст, то урл выглядит так :

search?controller=search&orderby=position&orderway=desc&search_query="ПОИСКОВЫЙ-ЗАПРОС"&submit_search=

Хочется как-то его оптимизировать. Покороче, покрасивше...
Искал на англоязычных сайтах типа такого:

http://stackoverflow.com/questions/33754335/htaccess-rewriterule-prestashop  -  но это правило у меня не срабатывает.

Подскажите, чем это можно подправить без модулей. Хотя с модулями тоже пойдёт.
02 Ноябрь 2016, 10:29:14
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль есть seo toots search. Стоит 200$. Бесполезный модуль, не понимаю зачем его покупают.
Зачем менять поисковый запрос?
Поисковые запросы закрывают от индексации, страницу поиска тоже закрывают.
Включите чпу в prestashop, этого доставточно для нормального сайта.
02 Ноябрь 2016, 10:53:42
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Для увеличения ссылок так делаю, поэтому такие модули покупают. На версии 1.5 был модуль "Module rewrite rules generator PrestaShop", для 1.6 тоже подойдет.
RewriteRule ^tags/(.*)$ search?controller=search&tag=$1 [QSA,L]
02 Ноябрь 2016, 10:54:01
Ответ #3
  • Пользователь
  • **
  • Сообщений: 71
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль есть seo toots search. Стоит 200$. Бесполезный модуль, не понимаю зачем его покупают.
Зачем менять поисковый запрос?
Поисковые запросы закрывают от индексации, страницу поиска тоже закрывают.
Включите чпу в prestashop, этого доставточно для нормального сайта.

я понимаю всё вышесказанное, но просто хотелось бы ссылку в удобоваримом виде...
мне предложили на странице товара отображать его теги в виде ссылок - ссылка работает через поиск, соответственноробот там тоже шастает. вот и хочу чпу в ссылке поиска.

или думаете не стоит так делать и надо убрать теги со страницы товара?
02 Ноябрь 2016, 11:59:44
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Для тегов это другое. Там ссылки вида
http://prestashop.ru/search?tag=mytagПоэтому менять нужно будет блок тегов, чтобы ссылки были
http://prestashop.ru/tag/mytagи в htaccess добавлять правило как написал Миколас.
02 Ноябрь 2016, 12:02:52
Ответ #5
  • Пользователь
  • **
  • Сообщений: 71
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для увеличения ссылок так делаю, поэтому такие модули покупают. На версии 1.5 был модуль "Module rewrite rules generator PrestaShop", для 1.6 тоже подойдет.
RewriteRule ^tags/(.*)$ search?controller=search&tag=$1 [QSA,L]

Не нашёл такого модуля, спасибо за совет.
тут ошибочка, к имени сайта добавляется http://имясайта
02 Ноябрь 2016, 12:07:23
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 16667
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Вторая часть неправильно, все запросы идут на index.php
/index.php?controller=search&tag=$1
02 Ноябрь 2016, 12:25:15
Ответ #7
  • Пользователь
  • **
  • Сообщений: 71
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вторая часть неправильно, все запросы идут на index.php
/index.php?controller=search&tag=$1
настойчиво добавляет в ссылку имя сайта...




# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums

<IfModule mod_rewrite.c>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>

RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule . - [E=HTTP_AUTHORIZATION:%1]



#Domain: #########
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]

RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# Images
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# AlphaImageLoader for IE and fancybox
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]

# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
</IfModule>

AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/x-font-woff .woff
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|svg)$">
Header add Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>

#If rewrite mod isn't enabled
ErrorDocument 404 /index.php?controller=404

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again