nginx的Rewrite实例–在url最后补全/符号

在配置文件中location里加入如下代码

if (-d $request_filename){
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}

这样,nginx就会进行判断了,如果请求的是一个文件夹,会自动在最后加上/符号,如果请求的是一个文件,则不会改变原有url
接下来对这段代码进行一个解释:

1,if (-d $request_filename),如果请求的是一个文件夹,则为真,进到if语句中执行
2,rewrite是执行url重写操作
3,^/(.*)([^/])$表示以/符号开始并紧跟着任何字符,同时不是以/为结束的字符串,在我的url中,(.*)表示的wordpres,([^/])表示的s
4,http://$host/$1$2/ 表示的重写后的地址,$host是请求的域名,$1是前面第一个括号里的内容,在我的url里就是wordpres $2是前面第二个括号里的内容,在我的url里是s
5,permanent表示,返回值是301

原文地址:https://www.cnblogs.com/buffer/p/2119236.html