首页 » it笔记 » 阅读文章

关于nginx目录自动加斜线问题

2011-08-22 12:23 3700 1 发表评论
标签:

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

www.0abcd.com

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

www.0abcd.com

这一切都跟这些有关: www.0abcd.com

在某些情况下(具体可参考 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现在是会自动加斜线的。

aaaaafdfdsf


收藏此文



评论 共1条 (RSS 2.0) 发表评论

  1. Rhonda says:

    博主太有才了!我学习了

发表评论

  • 使用新浪微博登陆
  • 
    疑问 冷笑 悲伤 坏蛋 感叹 微笑 脸红 大笑 吃惊 惊讶 困惑 酷 大声笑 恼火 古怪 转眼睛 给眼色 好主意 箭头 一般 哭了 绿人
  • want to say:

回到页首