我查看了其他示例,并尝试复制一个非常基本的 nginx 服务器布局。但是,它根本不起作用(除了 example.com,它正确地重定向到 index.html)。
这是我的 nginx 配置文件:
server {
listen 80;
root /var/www/example.com/public_html;
server_name example.com;
location / {
root /var/www/example.com/public_html/templates;
try_files $uri $uri/ /index.html;
}
location /draw/ {
root /var/www/example.com/public_html/templates/projects/draw;
try_files $uri $uri/ /drawsomething.html;
}
location ~ \.(gif|jpg|png)$ {
root /var/www/example.com/public_html/templates/pic;
}
}
基本上,我将所有内容存储在 中/templates/
。我希望当有人访问example.com/draw
它时显示drawsomething.html
,即/var/www/example.com/public_html/templates/projects/draw
。我按照网站上的示例操作,但似乎不起作用。不过,图像的重定向似乎有效。另外,如果我想包含脚本文件怎么办?我可以使用:
location ~ \.js$ {
root /var/www/example.com/public_html/templates/script;
}
答案1
您应该删除尾部的斜杠:
location /draw {
root /var/www/example.com/public_html/templates/projects/draw;
try_files $uri $uri/ /drawsomething.html;
}
最后你可以添加一个索引文件:
location /draw {
root /var/www/example.com/public_html/templates/projects/draw;
index drawsomething.html;
try_files $uri $uri/ @backend;
}