Настраиваем NGINX для Opencart, через ISPmanager

В прошлой статье, я уже говорил о том, что перешел с виртуального хостинга на виртуальный сервер.  В той же статье, я писал о том, как настроить работу NGIN для нормального функционирования WordPress, используя при этом, панель управления ISPmanager. В этой же статье, речь пойдёт о том: как настроить nginx для работы с openacart, а именно с SEO pro, так как с обычными адресами и так всё работает с коробки.

И так, переходим www-домены, выделяем интересующий нас домен и нажимаем на «конфиг». Здесь мы видим файл конфигурации, который для нас создала панель ISPmanager. Он в принципе, работает, но только в том случае, если вы не используете ЧПУ (человеко понятные ссылки). А для того, чтобы работал и с ЧПУ, нам нужно нечто прописать.

Читайте:  Настраиваем NGINX для Elite-Board через ISPmanager

После строки:

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;

прописываем это:

location / { 
rewrite ^/sitemap.xml$ /index.php?route=feed/google_sitemap last;
rewrite ^/googlebase.xml$ /index.php?route=feed/google_base last;
rewrite ^/system/download/(.*) /index.php?route=error/not_found last;
if (!-f $request_filename){
set $rule_3 1$rule_3;
}
if (!-d $request_filename){
set $rule_3 2$rule_3;
}
if ($uri !~ ".*.(ico|gif|jpg|jpeg|png|js|css)"){
set $rule_3 3$rule_3;
}
if ($rule_3 = "321"){
rewrite ^/([^?]*) /index.php?_route_=$1 last;
}
}

Вот собственно и всё.

Возможно в кого-то что-то не будет получатся и он захочет изучить мой полностью рабочий файл конфигурации:

<span data-mce-type="bookmark" style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" class="mce_SELRES_start"></span>server {
server_name site.com.ua www.site.com.ua;
charset off;
index index.html index.php;
disable_symlinks if_not_owner from=$root_path;
include /etc/nginx/vhosts-includes/*.conf;
include /etc/nginx/vhosts-resources/site.com.ua/*.conf;
#return 301 https://$host:443$request_uri;
return 301 https://site.com.ua$request_uri ;
error_log /dev/null crit;
set $root_path /var/www/ivan/data/www/site.com.ua;
root $root_path;
listen 185.145.41.55:80;
gzip on;
gzip_comp_level 9;
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
location / { 
rewrite ^/sitemap.xml$ /index.php?route=feed/google_sitemap last;
rewrite ^/googlebase.xml$ /index.php?route=feed/google_base last;
rewrite ^/system/download/(.*) /index.php?route=error/not_found last;
if (!-f $request_filename){
set $rule_3 1$rule_3;
}
if (!-d $request_filename){
set $rule_3 2$rule_3;
}
if ($uri !~ ".*.(ico|gif|jpg|jpeg|png|js|css)"){
set $rule_3 3$rule_3;
}
if ($rule_3 = "321"){
rewrite ^/([^?]*) /index.php?_route_=$1 last;
}
}
access_log off;
expires max;
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f info@site.com.ua";
fastcgi_pass unix:/var/www/php-fpm/ivan.sock;
fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
try_files $uri =404;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
server {
server_name site.com.ua www.site.com.ua;
if ($host ~* ^www.site.com.ua$) {
return 301 $scheme://site.com.ua$request_uri;
}
ssl on;
ssl_certificate "/var/www/httpd-cert/ivan/site.com.ua.crt";
ssl_certificate_key "/var/www/httpd-cert/ivan/site.com.ua.key";
ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:RSA+3DES:!NULL:!RC4:!RSA+3DES;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security "max-age=31536000;";
charset off;
index index.html index.php;
disable_symlinks if_not_owner from=$root_path;
include /etc/nginx/vhosts-includes/*.conf;
include /etc/nginx/vhosts-resources/site.com.ua/*.conf;
error_log /dev/null crit;
set $root_path /var/www/ivan/data/www/site.com.ua;
root $root_path;
listen 185.145.41.55:443;
gzip on;
gzip_comp_level 9;
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
location / {
rewrite ^/sitemap.xml$ /index.php?route=feed/google_sitemap last;
rewrite ^/googlebase.xml$ /index.php?route=feed/google_base last;
rewrite ^/system/download/(.*) /index.php?route=error/not_found last;
if (!-f $request_filename){
set $rule_3 1$rule_3;
}
if (!-d $request_filename){
set $rule_3 2$rule_3;
}
if ($uri !~ ".*.(ico|gif|jpg|jpeg|png|js|css)"){
set $rule_3 3$rule_3;
}
if ($rule_3 = "321"){
rewrite ^/([^?]*) /index.php?_route_=$1 last;
}
}
access_log off;
expires max;
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f info@site.com.ua";
fastcgi_pass unix:/var/www/php-fpm/ivan.sock;
fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
try_files $uri =404;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
  • Не забываем поменять: домен, IP и пути, прежде чем вставить в свой файл конфигурации. 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *