尽管我复制了模板,但 nginx 配置文件仍然不起作用

尽管我复制了模板,但 nginx 配置文件仍然不起作用

我查看了其他示例,并尝试复制一个非常基本的 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;
}

相关内容