Информация Обсуждение настроек VPS сервера для PrestaShop

так для nginx готовые правила под престу, работают безотказно.
добавить новый сайт - скопировать конфиг и заменить названия / путь.
по поводу пхп с докером можно поиграться. критичные к версии модули можно проксировать на отдельный контейнер с пхп5.
и сходу на 7.1 переписывайте, он вроде как ещё чуть быстрее )
Правила nginx видел, времени их попробовать не было. А что сильно заметна разница в производительности между apache и nginx на престашопе?
У меня на страницах статики не так много, я так понимаю nginx особенно выигрывает если статики много, он ее быстрее отдает.
Ага, про 7.1 слышал тоже краем уха. В сутках всего 24 часа правда, а столько всего интересного )
а что с хранением картинок не так? ну, много их. ресинк обновлений раз в час на сервер-дублёр с автоматическим переключением в случае фейла основного бэкэнда или по geoip. домены через клаудфлер по апи переключаются за минуту.
Ну я же и говорю - выносить их надо куда-то отдельно, а на это все время нужно.
Вообще какие-то велосипеды с ресинком изобретать мне кажется не самое правильное решение для этой задачи, лучше использовать что-нибудь уже готовое и отлаженное.
Но у меня пока задача обеспечить high availability не стояла, просто приложений помимо престашопа задействованных в бизнес процессах накопилось столько, что как-то хотелось их во что-то единое свести, всякие ELK, Prometheus и плюс пара-тройка своих самописных, собственно я по этой причине пока и не стал замарачиваться, но с докером это всяко удобней делать.
Насколько я представляю, все таки этот переход это скорее эволюционный процесс, а не революционный.
Но как мне кажется для меня - движение в правильном направлении.
 
Поделитесь настройками отлаженными и проверенными my.cnf для vps c 4 gb ОЗУ. Понимаю, что для каждого свое но все таки хочу проанализировать
 
Поделитесь настройками отлаженными и проверенными my.cnf для vps c 4 gb ОЗУ. Понимаю, что для каждого свое но все таки хочу проанализировать
Для просмотра ссылки Войди или Зарегистрируйся
innodb_buffer_pool_size поставьте 2,5-3 гб и дальше mysqltuner

Пример для 2Гб vps
Скрытое содержимое доступно для зарегистрированных пользователей!
самый простой способ ускорить базу для тех, кто на mysql - поставить mariadb :)
 
Последнее редактирование:
По просьбам трудящихся, выкладываю свои конфиги для nginx в этой теме.

Конфиг nginx для Prestashop 1.6.1.x + AS 4.11.x


Код:
server {
    listen 80;
    server_name site.com www.site.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2 deferred;
    server_name site.com www.site.com;

    #SSL
    include /etc/nginx/conf.d/ssl.cfg;
    ssl_certificate /etc/letsencrypt/live/site.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/site.com/privkey.pem;
    ssl_dhparam /etc/letsencrypt/live/site.com/dhparam.pem;

    root   /var/www/site.com;
    index  index.php;

    client_max_body_size 100m;
    client_body_buffer_size 128k;

    charset utf8;

    client_header_buffer_size 2k;
    large_client_header_buffers 4 8k;

    location / {
        try_files $uri $uri/ /index.php?$args;
        if (-f $request_filename) { expires 30d; break; }
        if (!-e $request_filename) { rewrite ^(.+)$ /index.php?$args last; }
    }

    include /etc/nginx/conf.d/prestashop.cfg;                #    рерайты престы вынесены отдельно
    include /etc/nginx/conf.d/phpmyadmin.cfg;
    #include /etc/nginx/conf.d/deny.cfg;                        #    для блокировки по ip

    location \.png  { access_log off; error_log off; expires max; gzip off; }
    location \.jpg  { access_log off; error_log off; expires max; gzip off; }
    location \.jpeg { access_log off; error_log off; expires max; gzip off; }
    location \.gif  { access_log off; error_log off; expires max; gzip off; }
    location \.ico  { access_log off; error_log off; expires max; gzip off; }

    location \.css { access_log off; expires 7d; log_not_found off; add_header Vary Accept-Encoding; }
    location \.js  { access_log off; expires 7d; log_not_found off; add_header Vary Accept-Encoding; }


    location ~ \.php$ {

        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_pass   unix:/var/run/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  HTTPS on;

        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_script_name;

        fastcgi_param  HTTP_MOD_REWRITE On;

        include fastcgi_params;
        fastcgi_connect_timeout 300s;
        fastcgi_send_timeout 300s;
        fastcgi_read_timeout 1200s;

        fastcgi_buffer_size 16k;
        fastcgi_buffers 8 16k;

        fastcgi_cache_valid 200 301 302 1h;
        fastcgi_cache_valid 404 500 501 502 503 504 505 506 507 509 510 1m;
        fastcgi_cache_valid any 1m;
    }

    location /robots.txt { allow all; log_not_found off; access_log off; }
    location ~ /\.ht { deny  all; }

    #letsencrypt
    location /.well-known/acme-challenge { alias /var/www/.well-known/acme-challenge; }

    access_log /var/log/nginx/site.com.access.log combined buffer=32 flush=5m;
    error_log /var/log/nginx/site.error.log;

}

содержимое ssl.cfg
Код:
 ssl on;
ssl_session_timeout 24h;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security "max-age=31536000;";
resolver 8.8.8.8 8.8.4.4 valid=300s;
ssl_stapling on;
ssl_stapling_verify on;
resolver_timeout 10s;

содержимое prestashop.cfg
Код:
rewrite ^/[a-zA-Z][a-zA-Z]/index.php(.*)$ /index.php$1;
       rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
       rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$1$2$3.jpg last;
       rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
       rewrite ^/([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 last;
       rewrite ^/([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 last;
       rewrite ^/([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 last;
       rewrite ^/([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 last;
       rewrite ^/([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 last;
       rewrite ^/c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2$3.jpg last;
       rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;
       rewrite ^/images_ie/?([^/]+)\.(jpe?g|png|gif)$ /js/jquery/plugins/fancybox/images/$1.$2 last;
       rewrite ^/page-not-found$ /index.php?controller=404 last;

    location /as4_seositemap {
       rewrite ^/as4_seositemap-([0-9]+).xml$ /modules/pm_advancedsearch4/sitemap/seositemap-$1.xml break;
    }

#rewrite "^/([a-z]{2})?/?s/([0-9]+)/([a-zA-Z0-9/_-]*)" /index.php?fc=module&module=pm_advancedsearch4&controller=advancedsearch4&isolang=$1&id_seo=$2&seo_url=$3 break;
#rewrite "^/ru/s/([0-9]+)/([a-zA-Z0-9/_-]*)" /index.php?fc=module&module=pm_advancedsearch4&controller=advancedsearch4&isolang=ru&id_seo=$1&seo_url=$2 break;

в последних версиях адвансед серч работает без рерайтов, в конфиге они закомментированы.

содержимое phpmyadmin.cfg
Код:
location /pma12345/ {

        auth_basic           "closed site";
        auth_basic_user_file /etc/nginx/pass/pma;

        alias /usr/share/phpMyAdmin/;
        location ~ \.php$ {
                fastcgi_pass unix:/var/run/php-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $request_filename;
                fastcgi_ignore_client_abort off;
                }
}
страницу авторизации phpmyadmin желательно паролить, для этого в файле /etc/nginx/pass/pma; задать пароль, подробнее Для просмотра ссылки Войди или Зарегистрируйся

ssl сертификат - появляется возможность использовать http/2, что ускоряет загрузку. nginx должен быть собран с поддержкой openssl 1.0.2j.
бесплатный валидный сертификат выдаётся через letsencrypt в пару комманд:
Код:
yum install certbot
certbot certonly -a webroot --webroot-path /var/www/ -d site.com -d www.site.com --server https://acme-v01.api.letsencrypt.org/directory
openssl dhparam -out /etc/letsencrypt/live/site.com/dhparam.pem 2048

не забудьте дописать в cron автообновление сертификата каждые 2 месяца:
0 2 * */2 * root /bin/sh certbot certonly -a webroot --webroot-path /var/www/ -d site.com -d www.site.com --server https://acme-v01.api.letsencrypt.org/directory >> /var/log/certbot.log;service nginx restart
либо просто
03 2 * */2 * root /bin/sh certbot renew >> /var/log/certbot.log;service nginx restart
при переходе на https с http читать вот это
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
@ZiX , может стоит объединить 2 темы ? "Обсуждение настроек VPS" прикреплена, а "Для просмотра ссылки Войди или Зарегистрируйся" нет, хотя там тоже есть полезные посты - их не увидят.
 
Нужна помощь! Преста 1.6 Пытаюсь освоить связку nginx + php-fpm на CentOS 7, панель управления Vesta

Имеем предустановленный спец шаблон для Vesta Для просмотра ссылки Войди или Зарегистрируйся

столкнулся с проблемой, сайт который хочу заставить работать на данной конфигурации имеет чистые ссылки, полученные с помощью модуля
Friendly Urls
Для просмотра ссылки Войди или Зарегистрируйся
перенес рабочий сайт на данный конфиг, главная страница работает, страницы категорий и товаров выдают ошибку 404, думаю проблема в модуле cleanurls, подскажите как подружить?
 
Нужна помощь! Преста 1.6 Пытаюсь освоить связку nginx + php-fpm на CentOS 7, панель управления Vesta

Имеем предустановленный спец шаблон для Vesta Для просмотра ссылки Войди или Зарегистрируйся

столкнулся с проблемой, сайт который хочу заставить работать на данной конфигурации имеет чистые ссылки, полученные с помощью модуля
Friendly Urls
Для просмотра ссылки Войди или Зарегистрируйся
перенес рабочий сайт на данный конфиг, главная страница работает, страницы категорий и товаров выдают ошибку 404, думаю проблема в модуле cleanurls, подскажите как подружить?
Кеш смарти и автозагрузки чистили?
Вот другой модуль попробуйте. Перед установкой этого удалите предыдущий и очистите кеш. И после установки тоже очистите
 
Кеш смарти и автозагрузки чистили?
Вот другой модуль попробуйте. Перед установкой этого удалите предыдущий и очистите кеш. И после установки тоже очистите

Не помогает, удалил, почистил, вернул ссылки с id, все работает, ставлю модуль, получаю 404,


Вот конфиг:

rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
rewrite ^/([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2$3.jpg last;
rewrite ^/([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2.jpg last;
rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$1$2.jpg last;
rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$1$2$3.jpg last;
rewrite ^/([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 last;
rewrite ^/([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 last;
rewrite ^/([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 last;
rewrite ^/([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 last;
rewrite ^/([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 last;
rewrite ^/([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 last;
rewrite ^/c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg last;
rewrite ^/c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ /img/c/$1.jpg last;
rewrite ^/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg last;

rewrite "^/([0-9]+)\-(\P{M}\p{M}*)+\.html(.*)$" /index.php?controller=product&id_product=$1$3 last;
rewrite "^/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$" /index.php?controller=category&id_category=$1$3 last;
rewrite "^/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$" /index.php?controller=product&id_product=$2$4 last;
rewrite "^/([0-9]+)__([a-zA-Z0-9-]*)(.*)$" /index.php?controller=supplier&id_supplier=$1$3 last;
rewrite "^/([0-9]+)_([a-zA-Z0-9-]*)$" /index.php?controller=manufacturer&id_manufacturer=$1$3 last;
rewrite "^/content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$" /index.php?controller=cms&id_cms=$1$3 last;
rewrite "^/content/category/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$" /index.php?controller=cms&id_cms_category=$1$3 last;
rewrite "^/module/([_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)$" /index.php?fc=module&module=$1&controller=$2 last;
rewrite ^/articles$ /index.php?fc=module&module=smartblog&controller=category last;
rewrite "^/articles/([0-9]+)_([_a-zA-Z0-9-]*)$" /index.php?fc=module&module=smartblog&id_post=$1&controller=details last;
rewrite "^/articles/category/([0-9]+)_([_a-zA-Z0-9-]*)$" /index.php?fc=module&module=smartblog&id_category=$1&controller=category;
rewrite ^/products-comparison$ /index.php?controller=products-comparison last;
rewrite ^/page-not-found$ /index.php?controller=404 last;
rewrite ^/address$ /index.php?controller=address last;
rewrite ^/addresses$ /index.php?controller=addresses last;
rewrite ^/authentication$ /index.php?controller=authentication last;
rewrite ^/best-sales$ /index.php?controller=best-sales last;
rewrite ^/cart$ /index.php?controller=cart last;
rewrite ^/contact-us$ /index.php?controller=contact-form last;
rewrite ^/discount$ /index.php?controller=discount last;
rewrite ^/guest-tracking$ /index.php?controller=guest-tracking last;
rewrite ^/order-history$ /index.php?controller=history last;
rewrite ^/identity$ /index.php?controller=identity last;
rewrite ^/manufacturers$ /index.php?controller=manufacturer last;
rewrite ^/my-account$ /index.php?controller=my-account last;
rewrite ^/new-products$ /index.php?controller=new-products last;
rewrite ^/order$ /index.php?controller=order last;
rewrite ^/order-follow$ /index.php?controller=order-follow last;
rewrite ^/quick-order$ /index.php?controller=order-opc last;
rewrite ^/order-slip$ /index.php?controller=order-slip last;
rewrite ^/password-recovery$ /index.php?controller=password last;
rewrite ^/prices-drop$ /index.php?controller=prices-drop last;
rewrite ^/search$ /index.php?controller=search last;
rewrite ^/sitemap$ /index.php?controller=sitemap last;
rewrite ^/stores$ /index.php?controller=stores last;
rewrite ^/supplier$ /index.php?controller=supplier last;

Возможно здесь чего то не хватает?
 
Не помогает, удалил, почистил, вернул ссылки с id, все работает, ставлю модуль, получаю 404,


Вот конфиг:

rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
rewrite ^/([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2$3.jpg last;
rewrite ^/([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2.jpg last;
rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$1$2.jpg last;
rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$1$2$3.jpg last;
rewrite ^/([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 last;
rewrite ^/([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 last;
rewrite ^/([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 last;
rewrite ^/([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 last;
rewrite ^/([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 last;
rewrite ^/([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 last;
rewrite ^/c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg last;
rewrite ^/c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ /img/c/$1.jpg last;
rewrite ^/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg last;

rewrite "^/([0-9]+)\-(\P{M}\p{M}*)+\.html(.*)$" /index.php?controller=product&id_product=$1$3 last;
rewrite "^/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$" /index.php?controller=category&id_category=$1$3 last;
rewrite "^/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$" /index.php?controller=product&id_product=$2$4 last;
rewrite "^/([0-9]+)__([a-zA-Z0-9-]*)(.*)$" /index.php?controller=supplier&id_supplier=$1$3 last;
rewrite "^/([0-9]+)_([a-zA-Z0-9-]*)$" /index.php?controller=manufacturer&id_manufacturer=$1$3 last;
rewrite "^/content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$" /index.php?controller=cms&id_cms=$1$3 last;
rewrite "^/content/category/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$" /index.php?controller=cms&id_cms_category=$1$3 last;
rewrite "^/module/([_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)$" /index.php?fc=module&module=$1&controller=$2 last;
rewrite ^/articles$ /index.php?fc=module&module=smartblog&controller=category last;
rewrite "^/articles/([0-9]+)_([_a-zA-Z0-9-]*)$" /index.php?fc=module&module=smartblog&id_post=$1&controller=details last;
rewrite "^/articles/category/([0-9]+)_([_a-zA-Z0-9-]*)$" /index.php?fc=module&module=smartblog&id_category=$1&controller=category;
rewrite ^/products-comparison$ /index.php?controller=products-comparison last;
rewrite ^/page-not-found$ /index.php?controller=404 last;
rewrite ^/address$ /index.php?controller=address last;
rewrite ^/addresses$ /index.php?controller=addresses last;
rewrite ^/authentication$ /index.php?controller=authentication last;
rewrite ^/best-sales$ /index.php?controller=best-sales last;
rewrite ^/cart$ /index.php?controller=cart last;
rewrite ^/contact-us$ /index.php?controller=contact-form last;
rewrite ^/discount$ /index.php?controller=discount last;
rewrite ^/guest-tracking$ /index.php?controller=guest-tracking last;
rewrite ^/order-history$ /index.php?controller=history last;
rewrite ^/identity$ /index.php?controller=identity last;
rewrite ^/manufacturers$ /index.php?controller=manufacturer last;
rewrite ^/my-account$ /index.php?controller=my-account last;
rewrite ^/new-products$ /index.php?controller=new-products last;
rewrite ^/order$ /index.php?controller=order last;
rewrite ^/order-follow$ /index.php?controller=order-follow last;
rewrite ^/quick-order$ /index.php?controller=order-opc last;
rewrite ^/order-slip$ /index.php?controller=order-slip last;
rewrite ^/password-recovery$ /index.php?controller=password last;
rewrite ^/prices-drop$ /index.php?controller=prices-drop last;
rewrite ^/search$ /index.php?controller=search last;
rewrite ^/sitemap$ /index.php?controller=sitemap last;
rewrite ^/stores$ /index.php?controller=stores last;
rewrite ^/supplier$ /index.php?controller=supplier last;

Возможно здесь чего то не хватает?
Я не очень силен в конфигах nginx (это больше к @alpi :)), но может попробовать удалить конструкцию
Код:
([0-9]+)\-
В каждой строчке, где встречается controller=product и controller=category?
Это как раз похоже на id
Ну и после изменений надо перезапустить nginx
 
удалите всё, что после
rewrite ^/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg last;
или замените свои рерайты на те, что у меня в конфиге - содержимое prestashop.cfg
 
Назад
Сверху