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;
}
}