我有一个使用子目录的网站,目前只有在 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-enabled
nginx 目录并包含以下内容,则会为我替换host.tld/gls
。host.tld/gls/
server {
location /gls {
root /var/www/;
}
}