追风赶月莫停留,平芜尽处是春山。这篇文章主要讲述Nginx架构篇(16)Rewrite - 访问目录URL自动添加“/”相关的知识,希望能为你提供帮助。
例五
访问目录URL自动添加“/”
在访问的url是目录时,在URL自动添加一个“/”(如果不是目录,则不加/)
(但是先做个判断,是目录才需要加,不是目录就不加。)
当用户访问网站时,输入的URL不完整。
1.输入的URL是目录时,自动添加“/”
http://www.baidu.com/abc
2.输入的URL是文件时,不添加“/”
http://www.baidu.com/abc/index.html
3.输入的URL是目录,但已经添加"/"时,不添加“/”
http://www.baidu.com/abc/
环境:
mkdir /usr/share/nginx/html/dir准备目标目录
echo /usr/share/nginx/html/dir/ > /usr/share/nginx/html/dir/index.html准备目录文件
配置地址重写:
vim /etc/nginx/conf.d/default.conf
if (-d $request_filename)
rewrite ^(.*)([^/])$ http://$host$1$2/ permanent;
#-d:检查文件目录
#$request_filename:当前请求的文件路径名
#^(.*)([^/])$:任意字符开头,不是/结尾
#$host:请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名
systemctl restart nginx
访问页面进行测试:
elinks 192.168.19.100/dir
触发重定向,url后方多了“/”
elinks 192.168.19.100/dir/
未触发重定向,url后方没有变化
将旧url中的字段,引入重定向后新url中
http://www.tianyun.com/login/tianyun.html
转为
http://www.tianyun.com/reg/login.php?user=tianyun
引用‘tianyun’关键字
location /login
rewrite ^/login/(.*)\\.html$/reg/login.php?user=$1;
【Nginx架构篇(16)Rewrite - 访问目录URL自动添加“/”】
推荐阅读
- #yyds干货盘点# leetcode算法题( 删除有序数组中的重复项)
- 使用 select 切换协程
- 启封easy QF PDA帮助企业提升ERP的管理水平
- ACL权限
- GO要点新解
- 列表
- k8s使用containerd作为容器运行时
- Tomcat高负载WEB服务器部署jspgou实验
- 灰色模型预测GM(1,1) 就业率 升学率