![nginx 重写目录和尾随 /](https://linux22.com/image/538877/nginx%20%E9%87%8D%E5%86%99%E7%9B%AE%E5%BD%95%E5%92%8C%E5%B0%BE%E9%9A%8F%20%2F.png)
在运行 Squeeze(从 Lenny 升级)的 Guruplug(ARM)上,我遇到了一个以前从未遇到过的奇怪问题。
请求不带尾部斜杠的目录会将 URL 重写为默认的 server_name
这是我的服务器名称:
server_name 10.10.10.1 192.168.*.* sheeva.domain.tld sheeva localhost;
每当我访问 192.168.1.15/mrtg 时,我都会被重定向到 10.10.10.1/mrtg/,这取决于接口,并不总是按应有的方式工作(IP 无法访问)。
$ wget http://192.168.1.15/mrtg -O /dev/null
--2011-02-09 22:17:51-- http://192.168.1.15/mrtg
Connecting to 192.168.1.15:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://10.10.10.1/mrtg/ [following]
--2011-02-09 22:17:51-- http://10.10.10.1/mrtg/
Connecting to 10.10.10.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3742 (3.7K) [text/html]
Saving to: `/dev/null'
其他 nginx 服务器上似乎没有这个问题。我检查了配置文件中的差异,但没有发现任何差异。
# nginx -v
nginx version: nginx/0.7.67
谢谢
答案1
听起来你需要设置重定向的服务器名称关闭。