Здравствуйте, переехали недавно на VPS и столкнулись с проблема настройки ngix конфигураций, нет опыта в этом, в htacess все было корректно.
Не разбираюсь в этом вообще, но сейчас из явного на сайте нет редиректа со всех страниц без слеша на слеш, пример: site.ru/category а нужно site.ru/category/, решение нашел, но оно ломает формы Contact form 7, видимо как-то json нужно исключать, решение было: (в консоле такие ошибки лезут и формы перестают работать: wp-json/contact-form-7/v1/contact-forms/3598/feedback/:1
Failed to load resource: the server responded with a status of 404 ())
if (!-f $request_filename) {
rewrite ^(.*[^/])$ $1/ permanent;
}
у нас кажется раньше было что-то такое в htacess, если не ошибаюсь этот, он как раз формы не ломал:
кажется json этот и отвечает за формы, но как это сделать для vps я не знаю
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/wp-json
RewriteCond %{REQUEST_URI} !^/wp-admin
RewriteCond %{REQUEST_URI} !^/([_0-9a-zA-Z-]+)/wp-json
RewriteCond %{REQUEST_URI} !^/([_0-9a-zA-Z-]+)/wp-admin
RewriteRule ^([^.]+)([^./])$ %{REQUEST_URI}/ [L,R=301,NE]
</IfModule>
Сейчас у нас такой файл настроил специалист, без редиректа:
server {
server_name site.ru www.site.ru ;
listen 45.130.42.228:443 ssl;
ssl_certificate "/var/www/httpd-cert/site.ru_2024-04-26-20-58_20.crt";
ssl_certificate_key "/var/www/httpd-cert/site.ru_2024-04-26-20-58_20.key";
add_header Strict-Transport-Security "max-age=31536000" always;
http2 on;
charset utf-8;
gzip on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/css text/xml application/javascript text/plain application/json image/svg+xml image/x-icon;
gzip_comp_level 6;
set $root_path /var/www/site_ru_usr/data/www/site.ru;
root $root_path;
disable_symlinks if_not_owner from=$root_path;
location / {
index index.php index.html;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/site.ru.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpeg|avi|zip|gz|bz2|rar|swf|ico|7z|doc|docx|map|ogg|otf|pdf|tff|tif|txt|wav|webp|woff|woff2|xls|xlsx|xml)$ {
try_files $uri $uri/ /index.php?$args;
expires 365d;
}
location @fallback {
fastcgi_pass unix:/var/run/site.ru.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
include "/etc/nginx/fastpanel2-sites/site_ru_usr/site.ru.includes";
include /etc/nginx/fastpanel2-includes/*.conf;
error_log /var/www/site_ru_usr/data/logs/meshar.ru-frontend.error.log;
access_log /var/www/site_ru_usr/data/logs/meshar.ru-frontend.access.log;
}
server {
server_name site.ru www.site.ru ;
listen 11.111.11.111:10;
return 301 https://$host$request_uri;
error_log /var/www/site_ru_usr/data/logs/meshar.ru-frontend.error.log;
access_log /var/www/site_ru_usr/data/logs/meshar.ru-frontend.access.log;
}