博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2015开篇——配置nginx URL有感
阅读量:6820 次
发布时间:2019-06-26

本文共 886 字,大约阅读时间需要 2 分钟。

  hot3.png

人总是习惯在懒散中拥抱自我。

每次遇到坑了,就巴望着留下点什么来记录一下,以前总是通过给代码增加注释来备忘。当然,博客是最好的记忆工具,没有之一。

这两天公司产品频繁新上线一些周边,需要通过配置URL来实现跳转到不同的周边页面。当然前置机还是Nginx,我喜欢它。

场景如下:

公网80端口通过NAT映射到内网某台机器的81端口,目前需要增加一个url(已使用这个url做好二维码已发放至外部),url为:http://www.domain.cn/web/test(结尾没有斜杠)。Nginx配置如下:

location /web/test/ {    alias /www/download/app/;    index index.html;}

结果:

通过 访问正常,跳转到预期的index.html页面

通过 访问不正常,通过console,发现访问该url时,301至,结果不出意外的是404。

开始以为是原业务系统已占用该URL,是否冲突导致。马上自己把自己否决了这个想法。

下载windows版本的Nginx,测试之,一切正常。思路转移到到这个81端口。为什么会跳转到81端口呢?

百思不得其解,曲线解决这个问题,从“/”的问题开始下手,为什么加斜杠就OK,不加斜杠就跳转到81端口。想通过Rewrite解决这个问题,增加配置如下:

location /web/test/ {    if (-d $request_filename) {        rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;    }    alias /www/web/test/;    index index.html;}

问题照旧。

可否禁止Nginx默认的301呢?Google得到该结果:

port_in_redirect off;// 没找到如何禁止301,但找到了在301时不带端口进行301

reload,问题解决。

转载于:https://my.oschina.net/iseric/blog/387099

你可能感兴趣的文章
Java并发编程:线程池的使用
查看>>
C++学习笔记01
查看>>
C# 反射机制
查看>>
c++ 2.1 编译器何时创建默认构造函数
查看>>
CentOS6编译LAMP基于FPM模式的应用wordpress
查看>>
30分钟入门正则表达式
查看>>
问题:主从数据库getConnection死循环
查看>>
15、排序:选择类排序和归并排序
查看>>
编程之美 2.16
查看>>
权限模块_分配权限_显示树状结构_页面中的选中效果
查看>>
艺龙旅行网
查看>>
libdvbpsi源码分析(二)main函数
查看>>
[poj2441] Arrange the Bulls
查看>>
Java内存分配、管理小结
查看>>
Redis入门到高可用(二)—— Redis启动及使用
查看>>
网页快捷键
查看>>
一步一步写jQuery插件
查看>>
MySQL(错误1064)
查看>>
js获取请求路径中参数值
查看>>
Asp.net Web Api进行Nunit测试
查看>>