nginx домен для opencart ocstore

nginx домен для opencart ocstore

При размещении сайта CMS OcStore или Opencart на сервере Nginx я не раз сталкивался с странными ошибками.

Например: на всех url показывается только главная страница.

Решил проблему особым конфигом для nginx

P.S. Замените в пути директории имя пользователя [roman] на свое. Да и весь путь к папке домена измените на свой!

server {
    # слушать порт 80
    listen 80;

    charset utf-8;
    client_max_body_size 128M;
    sendfile off;

    # директория сайта
    root /home/roman/local-web-server/www/my-site.loc;
    # индексные файлы
    index       index.php;
    # домен сайта
    server_name my-site.loc www.my-site.loc;

    error_log   /home/roman/local-web-server/www/logs/my-site-error.log;

    location @opencart {
          rewrite ^/(.+)$ /index.php?_route_=$1 last;
    }

    location / {
	    try_files $uri @opencart;
    }

    #если хотите красивую страницу 404
    #error_page 404 /404.html;

    # deny accessing php files for the /assets directory
    location ~ ^/assets/.*\.php$ {
        deny all;
    }

    # PHP скрипты передаются на выполнение FastCGI серверу
    location ~ \.php$ {
	    fastcgi_buffer_size 32k;
        fastcgi_buffers 4 32k;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        try_files $uri =404;
    }

    location ~* /\. {
        deny all;
    }
}

Сопутствующие статьи

Установить сервер nginx php-fpm ubuntu
​Linux команды терминала для сервера
MySQL импорт базы данных