Nginx 尾部斜杠重写不起作用

Nginx 尾部斜杠重写不起作用

我有一个使用子目录的网站,目前只有在 URL 末尾添加斜杠(“http://www.domain.com/dir/“)。当没有尾部斜杠时,我收到“无法连接服务器 domain.com:8080”(8080 是 Nginx 设置的监听端口)。

我尝试添加建议的重写这里(和这里),但却导致整个虚拟主机出现“无法连接”的错误。

还有其他方法可以添加尾部斜杠吗?或者,我是否可以将其配置为将 URL 视为目录(从而查找索引文件),而不管是否存在尾部斜杠?

答案1

我也试过了,但我没有找到合适的解决方案。但你可以尝试强制传递到后端。如果 www.domain.com/dir 来了,它应该转到后端 127.0.0.1:8080/dir

位置/目录 {

        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

              proxy_set_header Host $host;

        proxy_pass http://127.0.0.1:8080/dir;
  }

答案2

不确定我是否误解了你的意思,但是如果我连接到前者,将文件链接到sites-enablednginx 目录并包含以下内容,则会为我替换host.tld/glshost.tld/gls/

server {
    location /gls {
        root   /var/www/;
     }
}

相关内容