Jump to content

При включение ЧПУ не работает сайт


Recommended Posts

отключите все остальные языки, если хотите избавиться от /ru

когда включите ЧПУ, навсякий случай отключите кеш и перегенерируйте .htaccess

Share this post


Link to post
Share on other sites

отключите все остальные языки, если хотите избавиться от /ru

когда включите ЧПУ, навсякий случай отключите кеш и перегенерируйте .htaccess

Спасибо, главная страница стала открываться, а не подскажите где в престе 1,5 можно перегенерировать .htaccess?

Share this post


Link to post
Share on other sites

включите прекомпиляцию и отключите кеш на время, потом верните обратно, перегенерация в "инсструменты" - "генератор"

Share this post


Link to post
Share on other sites

У вас не сгененрирован .htaccess. Если он сгенерирован, значит сервере не поддерживает - обратитесь к хостеру.

Share this post


Link to post
Share on other sites

У вас не сгененрирован .htaccess. Если он сгенерирован, значит сервере не поддерживает - обратитесь к хостеру.

как не сгенерирован, если я захожу на хостинг и вижу что этот файл лежит и в нем прописаны правила

Share this post


Link to post
Share on other sites

возможно права на файлы ограничены

на какие файлы?

Если отключить ЧПУ все работает- бегает по всем категориям и т.д. при вкл ЧПУ открывается только главная страница и без картинок

Share this post


Link to post
Share on other sites

Ситуация следующая, на хостинге не работает вот с такими настройками

post-375745-0-53823600-1344876578_thumb.jpg

 

Перенес на локальный компьютер и работает ЧПУ, а настройки вот какие

post-375745-0-54016600-1344876710_thumb.jpg

 

Подскажите как надо прописать на сервере URL, что заработало ЧПУ

Share this post


Link to post
Share on other sites

  • 3 weeks later...

ВНИМАНИЕ!!!!!

если у вас открываются страницы при включеном ЧПУ, но не показываются картинки, то Вы должны на самом сервере (в настройках) включить следующую галочку "вкл Apache вместо Nginx для обработки статистических файлов .jpg .gif .js .css .rar .exe .mp3 и т.д."

уточните у своего хостера как именно она у вас называется

:rolleyes:

 

 

или перепишите правила "рерайта" под правила NGINX

Edited by RAGE (see edit history)

Share this post


Link to post
Share on other sites

на нормальных хостингах все должно работать без костылей и ковыряний серверного ПО, к которому клиент не имеет доступа, это же касается и переписывания правил)

И вообще судя по топику у ТС свой "сервер на фряхе") в этом контексте топик выглядит все страньше и страньше)_

Share this post


Link to post
Share on other sites

  • 3 weeks later...

Подскажите, у меня при включении ЧПУ работает только главная страница. Картинки не отображаются (за исключением слайдера) и ни одна ссылка не кликабельна - ошибка 404. .htaccess генерируется при включении ЧПУ. Хостинг nic.ru тариф 201. в бэк офисе на главной странице ошибка про ЧПУ пропадает, если в настройках вебсервера я отключаю "Использовать .htaccess". При включенном "Использовать .htaccess" у меня не работает ни фронт ни бэк офис если включаю ЧПУ.

Мне хостеру звонить или я могу своими силами решить?

Share this post


Link to post
Share on other sites

Подскажите, у меня при включении ЧПУ работает только главная страница. Картинки не отображаются (за исключением слайдера) и ни одна ссылка не кликабельна - ошибка 404. .htaccess генерируется при включении ЧПУ. Хостинг nic.ru тариф 201. в бэк офисе на главной странице ошибка про ЧПУ пропадает, если в настройках вебсервера я отключаю "Использовать .htaccess". При включенном "Использовать .htaccess" у меня не работает ни фронт ни бэк офис если включаю ЧПУ.

Мне хостеру звонить или я могу своими силами решить?

 

сгенерировать htaccess, включить чпу

Share this post


Link to post
Share on other sites

сгенерировать htaccess, включить чпу

 

Я уже писал, что при включении ЧПУ автоматически генерируется htaccess. К тому же в версии 1.5.0.17 нет кнопки с "сгенерировать htaccess" (возможно я просто ее не нашел).

Перед включением ЧПУ я просту удалял с сервера htaccess и после включения ЧПУ он появляется новый.

При кликании открываются ссылки типа сайт/категория/2-товар, но они открываются как страница с ошибкой 404. работает только главная. Может на хостинге (nic.ru) нужно какой-то модуль включить?

Share this post


Link to post
Share on other sites

версию ты указал только сейчас.

что происходит при активации опции "Disable apache multiviews"?

Ситуация аналогична без нее, затем включал. Ничего не меняется.

файл .htaccess с включенной "Disable apache multiviews":

# ~~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>

 

# Disable Multiviews

Options -Multiviews

 

RewriteEngine on

 

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

 

# Images

RewriteCond %{HTTP_HOST} ^$

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

RewriteCond %{HTTP_HOST} ^$

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

RewriteCond %{HTTP_HOST} ^$

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

RewriteCond %{HTTP_HOST} ^$

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

RewriteCond %{HTTP_HOST} ^$

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

RewriteCond %{HTTP_HOST} ^$

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

RewriteCond %{HTTP_HOST} ^$

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

RewriteCond %{HTTP_HOST} ^$

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

RewriteCond %{HTTP_HOST} ^$

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

RewriteCond %{HTTP_HOST} ^$

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

RewriteCond %{HTTP_HOST} ^$

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

RewriteCond %{HTTP_HOST} ^$

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

 

# Dispatcher

RewriteCond %{REQUEST_FILENAME} -s [OR]

RewriteCond %{REQUEST_FILENAME} -l [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteCond %{HTTP_HOST} ^$

RewriteRule ^.*$ - [NC,L]

RewriteCond %{HTTP_HOST} ^$

RewriteRule ^.*$ index.php [NC,L]

</IfModule>

 

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType image/gif "access plus 1 month"

ExpiresByType image/jpeg "access plus 1 month"

ExpiresByType image/png "access plus 1 month"

ExpiresByType text/css "access plus 1 week"

ExpiresByType text/javascript "access plus 1 week"

ExpiresByType application/javascript "access plus 1 week"

ExpiresByType application/x-javascript "access plus 1 week"

ExpiresByType image/x-icon "access plus 1 year"

</IfModule>

 

FileETag INode MTime Size

<IfModule mod_deflate.c>

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

</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

Настройки вебсервера:

modules_01.png

Настройки PHP:

modules_PHP.png

Edited by Gaydar (see edit history)

Share this post


Link to post
Share on other sites

Ситуация аналогична без нее, затем включал. Ничего не меняется.

файл .htaccess с включенной "Disable apache multiviews":

 

Настройки вебсервера:

modules_01.png

Настройки PHP:

modules_PHP.png

 

 

Аналогичная ситуация на этом же хостинге и с тем же тарифом. Работает только главная страницы без картинок. Версия престы 1.5.0.17

Share this post


Link to post
Share on other sites

вот вам и ответ

А что-нибудь конструктивное есть в ответ? Просто что нам предъявить Хостеру? Может модуль какой включить, может еще мелочь какая-то?

Share this post


Link to post
Share on other sites

На nic.ru стоит апачи 1.3, а в генерируемом файле .htaccess регулярные выражения написаны для апачи 2.0. Хостер говорит проблема именно в этом. Можно ли переписать .htaccess под апачи 1.3 и вообще будет ли переписанный файл работать на сайте?

в логах пишет:

.htaccess: RewriteRule: cannot compile regular expression '^c/([0-9]+)(\\-[_a-zA-Z0-9-\\.*]*)(-[0-9]+)?/.+\\.jpg$'\n

и так дальше про весть файл .htaccess

Edited by Gaydar (see edit history)

Share this post


Link to post
Share on other sites

Вот что ответил хостер:

 

1. Если все проблемные файлы в одном или нескольких каталогах, добавить в файл .htaccess

в каталоге, которые нельзя отдавать напрямую код:

<IfModule mod_access.c>

Order allow,deny

Allow from all

</IfModule>

Данный код не изменяет параметров доступа к каталогу (ели они не были изменены на уровне

родительских каталогов), но не позволяет серверу nginx отдавать статические файлы

напрямую, минуя сервер apache.

 

2. Перевести сайт в ручной режим, в конфиге nginx исключить необходимые расширения из

блока static file location.

 

3. Написать нам запрос на отключение отдачи статики для отдельного сайта.

Share this post


Link to post
Share on other sites

Вот что ответил хостер:

 

1. Если все проблемные файлы в одном или нескольких каталогах, добавить в файл .htaccess

в каталоге, которые нельзя отдавать напрямую код:

<IfModule mod_access.c>

Order allow,deny

Allow from all

</IfModule>

Данный код не изменяет параметров доступа к каталогу (ели они не были изменены на уровне

родительских каталогов), но не позволяет серверу nginx отдавать статические файлы

напрямую, минуя сервер apache.

 

2. Перевести сайт в ручной режим, в конфиге nginx исключить необходимые расширения из

блока static file location.

 

3. Написать нам запрос на отключение отдачи статики для отдельного сайта.

 

Подскажите после каких строк или между какими надо вставить этот код?

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

  • 3 months later...

Здравствуйте!

Долго боролись с ошибкой 404 при включении ЧПУ на prestashop 1.4.8

Оказалось какой-то хостинг загадочный, пришлось писать похожий htaccess

Вот код:

 

<IfModule mod_rewrite.c>

# URL rewriting module activation

RewriteEngine on

 

# URL rewriting rules

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 ^c/([0-9]+)/[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 ^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>

 

# Catch 404 errors

ErrorDocument 404 /404.php

 

Сайт заработал с ЧПУ - http://www.naribalku.com.ua

Но при установке форума - prestaforumgp

Переход по ссылке форума выдает 404 - страница не найдена.

Хотя этот же форум ставили на http://all1.com.ua - отлично заработал без дополнительных настроек.

 

Что дописать в htaccess чтобы работал форум?

Спасибо!

Share this post


Link to post
Share on other sites

  • 4 years later...

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


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


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

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


Share this post


Link to post
Share on other sites

  • 3 years later...
On 7/27/2017 at 1:50 PM, agasfer said:

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

 

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

 

 

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

 

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

 

у меня тут возникла проблема, что почему-то сайт стал выдавать ошибки 404 на карточках товара, но при отключении ЧПУ всё нормально работает. При этом категории всегдна нормально отображаются. Есть ли у вас мысли как это можно было бы вернуть жизнь страницам продуктов со включенным ЧПУ http://buy.guinot.su/newhite/276-brightening-uv-shield-spf-50-osvetlyayusshij-toniruyusshij-krem-dlya-siyaniya-kozhi-spf-50.htm

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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More