при попытке настроить веб-страницу 404 на одном из моих сайтов я не мог найти решение для несуществующих ссылок, содержащих косую черту, например, если я пытаюсь подключиться к https://supra.tf/anything
, он вернет правильную страницу, но после попытки https://supra.tf/anything/anything
возвращается правильная страница, но без форматирования (также как файлы css / js). Это моя конфигурация nginx:
root /var/www/supra.tf/public_html;
index index.html;
server_name supra.tf;
error_page 404 /404.html;
location / {
rewrite ^(/.*)\.html(\?.*)?$ $1$2 permanent;
rewrite ^/(.*)/$ /$1 permanent;
try_files $uri/index.html $uri.html $uri/ $uri =404;
}
location = /404.html {
root /var/www/errors;
}
location ~* ^.+\.(js|css|img)$ {
root /var/www/errors;
try_files $uri/index.html $uri.html $uri/ $uri =404;
}
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
listen [::]:443 ssl http2 ipv6only=on; # managed by Certbot
listen 443 ssl http2; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/supra.tf/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/supra.tf/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
listen 80;
listen [::]:80;
server_name supra.tf;
return 301 https://supra.tf$request_uri;
}
В чем тут может быть проблема?
Ответ был здесь: https://stackoverflow.com/questions/37860639/nginx-custom-404-css-js-not-found Речь шла о редактировании местоположения файлов css / js в 404.html до абсолютных - в этом случае файлы используются независимо от местоположения сайта.