nginx url自动加斜杠问题

Posted jedi1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx url自动加斜杠问题相关的知识,希望对你有一定的参考价值。

一、首先对比说明nginx以下两个现象:

1. 访问的uri最后带斜杠

  http://localhost/product/    >>>>  查找 product下的index页面,存在就返回;不存在且未开启自动索引目录选项(指令是:autoindex on),则报403错误

2. 访问的uri最后不带斜杠

  http://localhost/product     >>>>  查找product文件,存在就返回;若存在product的文件夹,会产生301跳转,且自动将uri补全为http://localhost/product/ ,跳转的域名由server_name_in_redirect 指令控制(下文介绍)

二、server_name_in_redirect 指令配置

1、server_name_in_redirect on ,URL 重定向为: server_name 中的第一个域名 + 目录名 + /;例如 配置文件中 server_name  www.baidu.com;  则http://localhost/product   时会重定向到http://www.baidu.com/product/(这是个坑)
2、server_name_in_redirect off (默认值)URL 重定向为: 原 URL 中的域名 + 目录名 + /。

 

以上是关于nginx url自动加斜杠问题的主要内容,如果未能解决你的问题,请参考以下文章

URL最后结尾反斜杠(/)加与不加区别

Nginx之proxy_pass指令url反斜杠作用

django网页问题 url自动添加了斜杠

代理传递 url 中的 NginX 尾部斜杠

URLS 问题中的 Django 双斜杠(多个 Web 服务器、Apache 和 Nginx)

nginx 重写URL尾部斜杠