В прошлой статье, я уже говорил о том, что перешел с виртуального хостинга на виртуальный сервер. В той же статье, я писал о том, как настроить работу NGIN для нормального функционирования WordPress, используя при этом, панель управления ISPmanager. В этой же статье, речь пойдёт о том: как настроить nginx для работы с openacart, а именно с SEO pro, так как с обычными адресами и так всё работает с коробки.
И так, переходим www-домены, выделяем интересующий нас домен и нажимаем на “конфиг”. Здесь мы видим файл конфигурации, который для нас создала панель 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 [email protected]"; 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 [email protected]"; 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 и пути, прежде чем вставить в свой файл конфигурации.