Jump to content
Leonid Stas

Проблема с ЧПУ

Recommended Posts

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

При отключении ЧПУ работает нормально.

Файл ,htacces такой же как и был.

Блин до чего же капризный движок - ни с того ни с сего перестал работать.

Модуль rewrite у apache тоже включен.

Может есть какие нибудь мысли?

Share this post


Link to post
Share on other sites

Порядок действий при включении чпу описан в самой админке, в частности после включения надо сформировать новый хтассес

 

Пока из всех жалоб на "капризность" и т.д. движка, я видел только кривые руки пользователя, уж извини за откровенность)

Share this post


Link to post
Share on other sites

Порядок действий при включении чпу описан в самой админке, в частности после включения надо сформировать новый хтассес

 

Пока из всех жалоб на "капризность" и т.д. движка, я видел только кривые руки пользователя, уж извини за откровенность)

Уф, ну конечно же первым делом я перегененрировал хтассес. И не раз. И раньше он нормально работал - я вообще ничего не трогал. Вот просто ни с того ни с сего.

Share this post


Link to post
Share on other sites

Все то же самое, что и раньше было.

Но не работает гаденыш и хоть кол на голове чеши.

Звезда в шоке.

Share this post


Link to post
Share on other sites

<IfModule mod_rewrite.c>

# URL rewriting module activation

RewriteEngine on

 

# URL rewriting rules

RewriteRule ^api/?(.*)$ /webservice/dispatcher.php?url=$1 [QSA,L]

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2$3.jpg [L]

RewriteRule ^([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2.jpg [L]

RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$1$2.jpg [L]

RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$1$2$3.jpg [L]

RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg [L]

RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg [L]

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg [L]

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg [L]

RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$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])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg [L]

RewriteRule ^c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]

RewriteRule ^c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ /img/c/$1.jpg [L]

RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]

RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]

RewriteRule ^[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]

RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$1&noredirect=1 [QSA,L]

RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$1 [QSA,L]

RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 [QSA,L]

RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 [QSA,L]

RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 [QSA,L]

RewriteRule ^content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 [QSA,L]

RewriteRule ^page-not-found$ /404.php [QSA,L]

RewriteRule ^address$ /address.php [QSA,L]

RewriteRule ^addresses$ /addresses.php [QSA,L]

RewriteRule ^authentication$ /authentication.php [QSA,L]

RewriteRule ^best-sales$ /best-sales.php [QSA,L]

RewriteRule ^cart$ /cart.php [QSA,L]

RewriteRule ^contact-us$ /contact-form.php [QSA,L]

RewriteRule ^discount$ /discount.php [QSA,L]

RewriteRule ^guest-tracking$ /guest-tracking.php [QSA,L]

RewriteRule ^order-history$ /history.php [QSA,L]

RewriteRule ^identity$ /identity.php [QSA,L]

RewriteRule ^manufacturers$ /manufacturer.php [QSA,L]

RewriteRule ^blog/all-post.html$ /modules/plblog/frontent/all-post.php [QSA,L]

RewriteRule ^blog/([a-zA-Z0-9-]*)/([0-9]*)-([a-zA-Z0-9-]*).html$ /modules/plblog/frontent/details.php?plcn=$1&plidp=$2&plpn=$3&.php [QSA,L]

RewriteRule ^blog/([0-9]*)_([a-zA-Z0-9-]*).html$ /modules/plblog/frontent/list-post.php?plidc=$1&plcn=$2&.php [QSA,L]

RewriteRule ^blog/tag/([a-zA-Z0-9-]*)_([0-9]*).html$ /modules/plblog/frontent/list-tags.php?pltn=$1&plidt=$2&.php [QSA,L]

RewriteRule ^my-account$ /my-account.php [QSA,L]

RewriteRule ^new-products$ /new-products.php [QSA,L]

RewriteRule ^order$ /order.php [QSA,L]

RewriteRule ^order-follow$ /order-follow.php [QSA,L]

RewriteRule ^quick-order$ /order-opc.php [QSA,L]

RewriteRule ^order-slip$ /order-slip.php [QSA,L]

RewriteRule ^password-recovery$ /password.php [QSA,L]

RewriteRule ^prices-drop$ /prices-drop.php [QSA,L]

RewriteRule ^search$ /search.php [QSA,L]

RewriteRule ^sitemap$ /sitemap.php [QSA,L]

RewriteRule ^stores$ /stores.php [QSA,L]

RewriteRule ^supplier$ /supplier.php [QSA,L]

</IfModule>

Share this post


Link to post
Share on other sites

на вид - правильные, да и если ты генерил из админки - все ок, чпу в престе работает как надо, проблема не в движке)

зри в логи.

Share this post


Link to post
Share on other sites

На ум приходят только 3 файла основных из за чего это может быть + еще неправильно настроения админка:

 

Classes/Link.php

Classes/Tools.php

.htaccess

 

В админке попробуйте еще на вкладке Seo включить/выключить колонические ссылки...

Share this post


Link to post
Share on other sites

А еще проверте контрольные суммы файлов с оригинальной, той же что у вас, версией престашопа! Быть может ваши файлы заражены вредоносным кодом и какие то функции престы отключены специально для нормальной работы такого кода.

Share this post


Link to post
Share on other sites

Проблема не с ЧПУ, проблема с кривыми руками-мозгами при написании кода по формированию урлов и последующего парса - более кривого алгоритма не встречал (хотя нет: видел такое уродство).

БАГИ ЧПУ и вообще урлов Prestashop:

  1. Пользователь может "прописывать-не прописывать" обязательные параметры - идеотизм! - баг!
  2. Ссылка на товар формируется без полного пути (по умолчанию) - где категория, без которой нет полного урла? - это SEO баг!
  3. При включении ЧПУ и попытке исправить баг выше добавляем доступные (не для программиста) {category}/ или {categories}/ к урлу товара и лезет очередной баг формирования ссылки на товар: алиас-категории/товарная-ссылка-с-допами, При этом ссылка на категорию идет с ID(а тут нет), и при обрезании урла(/товарная-ссылка-с-допами - сокращаем (как положено)) имеем ссылку /алиас-категории и !желанную 404 ошибкут.к. ссылка на саму категорию имеет вид: ID-алиас-категории (или что иное, но ID - ОБЯЗАТЕЛЬНЫЙ параметр, выброшенный из товарной ссылки!).

​Дальше даже не буду писать какие баги, т.к. СМС по факту платная(кроме кривого ядра) для большинства пользователей и это хамство иметь столько косяков в продакшене - установил, поковырял, зае..ся править косяки - которые в престе не называют косяками, а отсутствием купленного плагина или ещё чего.

Edited by agasfer

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×