当尝试让 Nginx 使用某个目录来存放 css 文件时,我似乎无法获取要解析的路径:我一直收到 404。
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/ssl/servercert.pem;
ssl_certificate_key /etc/ssl/serverkey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
root /var/www/ssl;
location ~ ^/css/([a-z]+.css)$ {
try_files /home/server/css/$1 =404;
access_log /var/log/nginx/loc.log test;
}
}
我尝试过将别名和 root 与 try_files 结合使用,但似乎无法解决它们。在 Nginx 中完成服务器端重写到另一个目录的正确方法是什么(我正在从 Lighttpd 迁移)?
答案1
在评论和的帮助下这个问题我能够找出正确的配置:
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/ssl/servercert.pem;
ssl_certificate_key /etc/ssl/serverkey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
root /var/www/ssl;
location ~ ^/css/([a-z]+.css)$ {
root /home/server/css;
try_files /$1 =404;
access_log /var/log/nginx/loc.log test;
}
}
在我之前的尝试中,我遗漏了 try_files 中的前导 /。