static 模块提供了root与alias功能;发现目标是目录时;但URI末尾未加/时;会返回301重定向;重定向后会加/

指令

Syntax: server_name_in_redirect on | off;# 控制返回那个域名
Default: server_name_in_redirect off;
Context: http, server, location
Syntax: port_in_redirect on | off; #控制返回的端口
Default: port_in_redirect on;
Context: http, server, location
Syntax: absolute_redirect on | off; #返回重定向时时否添域名,默认是会添域名
Default: absolute_redirect on;
Context: http, server, location

  

配置

[root@python vhast]# cat dir.conf
server {
server_name www.dir.com fwe.dir.com; #第一个为主域名;第二个为辅助域名
server_name_in_redirect off;
listen 8088;
absolute_redirect off;
root html/;
}

  测试

[root@python vhast]# curl www.dir.com:8088/first -I
HTTP/1.1 301 Moved Permanently
Server: nginx/1.15.9
Date: Wed, 10 Jul 2019 10:30:04 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive
Location: /first/

  修改配置

server {
server_name www.dir.com fwe.dir.com;
server_name_in_redirect off;
listen 8088;
#absolute_redirect off;
root html/;
}

  测试

[root@python vhast]# curl www.dir.com:8088/first -I
HTTP/1.1 301 Moved Permanently
Server: nginx/1.15.9
Date: Wed, 10 Jul 2019 10:31:21 GMT
Content-Type: text/html
Content-Length: 169
Location: http://www.dir.com:8088/first/
Connection: keep-alive

  测试加主机名

root@python vhast]# curl -H "Host:aaa" localhost:8088/first -I
HTTP/1.1 301 Moved Permanently
Server: nginx/1.15.9
Date: Wed, 10 Jul 2019 10:34:36 GMT
Content-Type: text/html
Content-Length: 169
Location: http://aaa:8088/first/
Connection: keep-alive

  修改配置

[root@python vhast]# cat dir.conf
server {
server_name www.dir.com fwe.dir.com;
server_name_in_redirect on; #表示修改为主域名在返回的URI里
listen 8088;
#absolute_redirect off;
root html/;
}

  测试

[root@python vhast]# curl -H "Host:aaa" localhost:8088/first -I
HTTP/1.1 301 Moved Permanently
Server: nginx/1.15.9
Date: Wed, 10 Jul 2019 10:36:46 GMT
Content-Type: text/html
Content-Length: 169
Location: http://www.dir.com:8088/first/
Connection: keep-alive

  

nginx访问目录是没加/的重定向控制的更多相关文章

  1. SELinux 对nginx访问目录的影响

    centos新装的系统,用yum 安装的nginx . 因用yum 安装的nginx 默认目录在/usr下面. 当SELinux开启时,将会禁止访问设置在其他路径下的地址.比如我设置server 中 ...

  2. nginx 访问目录403

    centos7.2默认安装好nginx后,会在/usr/share/nginx/html下作为主目录 但是如果想访问下面的目录会发现没有权限,返回403错误 这时候要注意在/etc/nginx/ngi ...

  3. centos7 nginx访问目录403解决

    查看  /usr/sbin/sestatusSELinux status是不是enabled  然后 vi /etc/selinux/config修改:SELINUX=disabledreboot

  4. 修改nginx的访问目录以及遇到的403错误修改总结

    对于这个问题困扰了我好几天,前篇文章介绍了图片服务器的使用,但是两个服务器如何进行通话访问呢,即如何通过nginx来访问ftp服务器上的资源文件呢,这里面需要修改nginx的配置文件(vi /usr/ ...

  5. nginx配置目录列表访问权限

    我们知道apache httpd默认情况下会显示访问目录的文件列表,但是nginx访问时如果目录下面没有默认首页,那么会返回403 Forbidden的错误,表示没有权限访问,比如根目录就是nginx ...

  6. nginx配置目录访问&用户名密码控制

    背景 项目上需要一些共享目录让外地同事可以网页访问对应的文件,且受权限控制: 现有环境: centos nginx 你可以了解到以下内容: 配置nginx开启目录访问 并配置nginx用户名和密码进行 ...

  7. nginx默认访问目录时显示403错误

    author :headsen chen date: 2018-04-25  17:17:25 nginx安装完成后默认的http页面里访问目录的话会报403的错误: 和Apache进行比较,Apac ...

  8. Nginx访问VM虚拟机CentOS 7系统与本地Windows系统共享目录403

    用VMware安装了CentOS7系统,并搭建了Nginx,MySQL,PHP的web项目运行环境,为了方便Windows本地主机进行程序调试把Windows本地项目目录共享到了虚拟机CentOS中的 ...

  9. 决解nginx代理的django项目的admin站点无法访问,和没样式的问题。

    首先我们先解决无法访问admin站点的问题 首先我们先修改一下nginx的配置,添加红色框框的部分. 然后重新启动一下nginx 访问一下admin站点 发现没有样式了. 我们先修改/fast_foo ...

随机推荐

  1. mybatis--使用接口注解的方式实现Helloword

    首先,创建一个数据库my,并在数据库中插入一张表user,然后在user表中插入一行数据,代码如下: create database my; use my; create table user( id ...

  2. 多种方式实现平均分栏布局(有间距)div平分行宽

    以下例子基于分四栏+栏间有间距的例子分析 效果图:  html代码: <div class="buy-one-buy"> <h3>淘一淘</h3> ...

  3. Linux shell sed 命令详解

    详细的sed命令详解,请参考https://my.oschina.net/u/3908182/blog/1921761 sed命令常见用途 查找关键词做全局替换 查找某行的关键词做替换 查找关键字所在 ...

  4. Python 树莓派 引脚

    #!/usr/bin/python3 import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OU ...

  5. 每天进步一点点------Sobel算子(3)基于彩色图像边缘差分的运动目标检测算法

    摘  要: 针对目前常用的运动目标提取易受到噪声影响.易出现阴影和误检漏检等情况,提出了一种基于Sobel算子的彩色边缘图像检测和帧差分相结合的检测方法.首先用Sobel算子提取视频流中连续4帧图像的 ...

  6. Unity 鼠标旋转物体360展示

    PC端 using UnityEngine; using System.Collections; public class DragRound : MonoBehaviour { public Tra ...

  7. webRTC中回声消除(AEC)模块编译时aec_rdft.c文件报错:

    webRTC中回声消除(AEC)模块编译时aec_rdft.c文件报错. 原因是: 局部变量ip跟全局变量冲突的问题,可以将局部变量重新命名一下,就可以通过编译了. aec_rdft.c修改以后文件代 ...

  8. 线上BUG定位神器(阿尔萨斯)-Arthas2019-0801

    1.下载这个jar 2.运行这个jar 3.选取你需要定位的问题应用进程 然后各种trace -j xx.xxx.xx.className methodName top -n 3 这个后面要补充去看, ...

  9. Postman的使用和测试

    1.输入认证的IP,获取headers 2.输入用户名及密码 3.带着headers去访问网址 4.传参

  10. 【C语言】将输入的10个数排序

    代码: #include <stdio.h> int main() { ], t; int i, j, max; printf("请输入10个数:\n"); ; i & ...