显示 index.html:如何进行良好配置

显示 index.html:如何进行良好配置

nginx/1.18.0(Ubuntu)

server {
    listen       10.1.94.11:80;
    server_name  psywomenandmen.ru www.psywomenandmen.ru;

    location = /push/ {
        root   /home/h105667446/psywomenandmen.ru/docs/push;
        index index.html;
        http2_push main.css;
        add_header 'Debug' 'true';
    }
}

文件

h105667446@h105667446:~/psywomenandmen.ru/docs/push$ ls
index.html  main.css

当我在浏览器中打开https://psywomenandmen.ru/push,我收到 404 错误。错误日志是空的。

你能帮我显示索引 html 吗?

答案1

您的问题是 root 指令。它告诉 nginx 使用给定的路径作为请求的根目录 (domain.com/)。在您的例子中,nginx 使用 /home/.../docs/push 作为根目录。当您输入 domain.com/push 时,nginx 会在 /home/.../docs/push/push 中搜索索引文件。

root 通常用于定义整个服务器块:

server {
    listen 80;
    root /home/.../docs;

    location / {
        try_files $uri $uri/ =404;
    }
}

或者如果你使用 /push/ 链接到一个完全不同的路径,使用别名:

server 80 {
    listen 80;

    location / {
        alias /home/.../docs/push;
        try_files $uri $uri/ =404;
    }
}

相关内容