nginx中斜杠(/)详解

不知大家日常在nginx配置时,是不是会对是否加斜杠充满疑惑?

配置location、proxy_pass时,加“/”与不加“/”的区别,今天我们通过实操去验证下。

通过nginx代理访问地址:http://127.0.0.1/v1/pt/apply/page

location、proxy_pass都不加斜杠

location /v1 {
    proxy_pass http://127.0.0.1:8899;
}

实际访问代理地址:http://127.0.0.1:8899/v1/pt/apply/page

location加斜杠,proxy_pass不加斜杠

location /v1/ {
    proxy_pass http://127.0.0.1:8899;
}

实际访问代理地址:http://127.0.0.1:8899/v1/pt/apply/page

location不加斜杠,proxy_pass加斜杠

location /v1 {      
    proxy_pass http://127.0.0.1:8899/;
}

实际访问代理地址:http://127.0.0.1:8899//pt/apply/page

location、proxy_pass都加斜杠

location /v1/ {
    proxy_pass http://127.0.0.1:8899/;
}

实际访问代理地址:http://127.0.0.1:8899/pt/apply/page

location不加斜杠,proxy_pass加"v1"

location /v1 {
    proxy_pass http://127.0.0.1:8899/v1;
}

实际访问代理地址:http://127.0.0.1:8899/v1/pt/apply/page

location加斜杠,proxy_pass加"v1"

location /v1/ {
    proxy_pass http://127.0.0.1:8899/v1;
}

实际访问代理地址:http://127.0.0.1:8899/v1pt/apply/page

location不加斜杠,proxy_pass加"v1/"

location /v1 {
    proxy_pass http://127.0.0.1:8899/v1/;
}

实际访问代理地址:http://127.0.0.1:8899/v1/pt/apply/page

location加斜杠,proxy_pass加"v1/"

location /v1/ {
    proxy_pass http://127.0.0.1:8899/v1/;
}

实际访问代理地址:http://127.0.0.1:8899/v1/pt/apply/page

总结:

proxy_pass代理地址端口后无任何字符,转发后地址:代理地址+访问URL目录部分
proxy_pass代理地址端口后有目录(包括 / ),转发后地址:代理地址+访问URL目录部分去除location匹配目录(示例中的"v1"或"v1/")

到此这篇关于nginx中斜杠(/)详解的文章就介绍到这了,更多相关nginx中斜杠(/)详解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • nginx url自动加斜杠及301重定向的问题

    nginx url自动加斜杠问题及301重定向,URL指向一个目录并且在最后没有包含斜杠,会301重定向跳转,添加server_name或修改访问重定向. nginx url自动加斜杠问题及301重定向 内部服务器使用nginx,做网站测试之用.不同域名使用端口号区分,如www用默认的80端口,其它域名用81,82... 有时直接在地址栏敲网址,会发现跳转到localhost.localdomain的情况. 比如858端口下有个hx目录,这样正常访问:http://192.168.1.158:8

  • 详解Nginx proxy_pass的一个/斜杠引发的血案

    背景 一个nginx的server模块下需要proxy到两个server,所以就通过location的不同路径来区分转发到不同的服务器上. 一开始是这么写的 location / { proxy_pass http://server1/; } location /index { proxy_pass http://server2/; } 但是忘记了server1上有个服务路径是/indexNew,结果就被proxy到了server1,出现404问题,然后紧急修改配置如下: location /i

  • Nginx反斜杠自动解码问题解决方法

    nginx 会对uri中的字符进行解码然后传递给fastCGI,一般情况下也无妨,偏偏我的搜索词中含有反斜杠,编码后的地址 复制代码 代码如下: /search/Madmanfoo%2fLovesong/ nginx传递给php的地址就变成了,我用的PATHINFO所以无法得到正确的结果 复制代码 代码如下: /search/Madmanfoo/Lovesong/ 把nginx官网找了个遍也没找到阻止自动解码的配置,实在不想二次编码,从http://stackoverflow.com/quest

  • 配置解决Nginx服务器中WordPress路径不自动加斜杠问题

    问题是这样的:我习惯在博客地址后面直接加"wp-admin"敲回车进入WordPress后台,但是进去以后发现不管我点任何一个管理子项,一律404(找不到页面),瞬间我就囧了,这是神马状况... 仔细看了一下管理子项的链接,发现他们全是类似"//www.jb51.net/blog/edit.php"这样的,关键就在于他们都少了"/wp-admin/"这条路径,路径都不对了,肯定404呗... 知道问题在哪就简单了,而且答案肯定还是在Nginx的重

  • nginx配置域名访问时域名后出现两个斜杠//的解决方法

    最近这两天重新写了一下我的个人网站,在阿里云新买了一台服务器,配置好以后出现了一个问题,就是输入域名后域名地址会自动在后面追加两个斜杆 并且网站还访问不了,仔细观察nginx配置后发现发现如下 解决办法 我们应该在nginx配置的路径后面加一个/ 配置完成后 保存重启 再次访问 就没有问题了 附配置文件 server { listen 80; server_name wx.pyxrsj.cn; include /etc/nginx/default.d/*.conf; location / { p

  • nginx中斜杠(/)详解

    不知大家日常在nginx配置时,是不是会对是否加斜杠充满疑惑? 配置location.proxy_pass时,加“/”与不加“/”的区别,今天我们通过实操去验证下. 通过nginx代理访问地址:http://127.0.0.1/v1/pt/apply/page location.proxy_pass都不加斜杠 location /v1 {     proxy_pass http://127.0.0.1:8899; } 实际访问代理地址:http://127.0.0.1:8899/v1/pt/ap

  • PHP程序员玩转Linux系列 Nginx中的HTTPS详解

    PHP程序员玩转Linux系列文章: 1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转Linux系列-备份还原MySQL 5.PHP程序员玩转Linux系列-自动备份与SVN 6.PHP程序员玩转Linux系列-Linux和Windows安装nginx 7.PHP程序员玩转Linux系列-nginx初学者引导 创建一个HTTPS服务器 在nginx

  • Nginx的rewrite模块详解

    rewrite模块即ngx_http_rewrite_module模块,主要功能是改写请求URI,是Nginx默认安装的模块.rewrite模块会根据PCRE正则匹配重写URI,然后发起内部跳转再匹配location,或者直接做30x重定向返回客户端. 指令执行顺序 首先顺序执行server块中的rewrite模块指令,得到rewrite后的请求URI 然后循环执行如下指令 如果没有遇到中断循环标志,此循环最多执行10次,但是我们可以使用break指令来中断rewrite后的新一轮的循环 (1)

  • Webpack中publicPath使用详解

    目录 output output.path output.publicPath webpack-dev-server中的publicPath html-webpack-plugin template filename 最后 斜杠/的含义 参考 最近自己在搭建一个基于webpack的react项目,遇到关于output.publicPath和webpack-dev-server中publicPath的问题,而官方文档对它们的描述也不是很清楚,所以自己研究了下并写下本文记录. output outp

  • CentOS6.3添加nginx系统服务的实例详解

    CentOS6.3添加nginx系统服务的实例详解 前言: 今天虚拟机上配了下服务器整理了个这个 nginx 服务 要注意 - 短横杠这个符号看看复制进去后有没有乱码,我之前就遇到这个问题,郁闷了好久才发现 提示:顶部的注释不要去除否则无法注册为系统服务, 关于:chkconfig: 2345 65 37 网上搜索总结了下意思是: 2345 为启动该服务的系统环境 65   为加载的优先级别 37   为关闭的优先级别 65,37 这两个位置的数值不能相同,也不能和其它服务的数值冲突,这个我也没

  • Nginx的完整配置详解及实例代码

    Nginx的完整配置详解 最近公司新项目,由于自己是小白,跟着项目经理对Nginx进行配置,在网上找到一篇相关资料,觉得不错,并可以完成配置,这里记录下, 实例代码: #运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;

  • Ubuntu系统搭建django+nginx+uwsgi的教程详解

    1. 在开发机上的准备工作 1.确认项目没有bug. 2.用pip freeze > requirements.txt将当前环境的包导出到requirements.txt文件中,方便在部署的时候安装. 3.将项目上传到服务器上的/srv目录下.这里以git的形式为例,打开终端,依次输入如下命令 •git init •git remote add origin xxx.git •git add . •git commit -m 'first commit' •git pull origin mas

  • 基于nginx access日志格式详解

    nginx的nginx.cnf中,使用log_format字段可以指定日志的格式文件. log.fromat: log_format access ' [$time_local] | $host | $remote_addr | $request | $request_time | $body_bytes_sent | $status |' '| $upstream_addr | $upstream_response_time | $upstream_status |' ' "$http_ref

  • nginx proxy_cache 缓存配置详解

    前言: 由于本人工作原因,涉及到网络直播领域,其中视频的回放下载,涉及到了一些视频下载方面的技术.针对于一个完整视频的下载,目前市面上的主流做法是,先将整个视频流切片,存储到文件服务器中,在用户需要观看回放视频时.通过一个视频回源服务器,去文件服务器中逐个请求切片,返回给用户播放. 今天着重探讨的是关于回源服务器缓存的配置以及合理的缓存策略. 通过给回源服务器配置缓存的案例,详细讲解一整套缓存配置机制,并且可沿用到其他任何缓存配置场景中. 今天的讲解分为四点: 回源服务器的工作是啥为啥 需要给回

  • Nginx缓存设置案例详解

    在开发调试web的时候,经常会碰到因浏览器缓存(cache)而经常要去清空缓存或者强制刷新来测试的烦恼,提供下apache不缓存配置和nginx不缓存配置的设置.在常用的缓存设置里面有两种方式,都是使用add_header来设置:分别为Cache-Control和Pragma. nginx: location ~ .*\.(css|js|swf|php|htm|html )$ { add_header Cache-Control no-store;add_header Pragma no-cac

随机推荐