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;
}
}