加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx的url是目录时到底会不会自动加斜线

发布时间:2020-12-13 20:50:44 所属栏目:Nginx 来源:网络整理
导读:看到网上很多人都再说,在访问带目录的url时,nginx不会自动加斜线,有的人加了rewrite来实现,有的人设置 server_name_in_redirect off来实现。我测试了下带目录时的情况,发现斜线是可以自动加上的,其他情况我测试了后再来补全吧。网上的文章不要随便拿来

看到网上很多人都再说,在访问带目录的url时,nginx不会自动加斜线,有的人加了rewrite来实现,有的人设置 server_name_in_redirect off来实现。我测试了下带目录时的情况,发现斜线是可以自动加上的,其他情况我测试了后再来补全吧。网上的文章不要随便拿来用,至少也要先测试下,毕竟nginx也是在不断发展。bug也一定在不断被修复。

经过进一步测试,发现在访问带目录的url时,nginx会自动加斜线,其实是在内部自动做了一个301跳转,加了斜线。可以用httpwatch,或者 curl -I http://.../dir来测试。

这一切都跟这些有关:

在某些情况下(具体可参考 wiki.nginx.org),Nginx 内部重定向规则会被启动,例如,当 URL 指向一个目录并且在最后没有包含“/”时,Nginx 内部会自动的做一个 301 重定向,这时会有两种情况:
1、server_name_in_redirect on(默认),URL 重定向为: server_name 中的第一个域名 + 目录名 + /;
2、server_name_in_redirect off,URL 重定向为: 原 URL 中的域名 + 目录名 + /。

以上信息应该是在做rewrite时多注意,servername和alias。可见,nginx现在是会自动加斜线的。欢迎大家也都发表下自己的看法。

原文:http://linuxgp.blog.51cto.com/1708668/400597

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读