为了账号安全,请及时绑定邮箱和手机立即绑定

关于nginx中的rewrite问题

关于nginx中的rewrite问题

LEATH 2019-02-19 17:12:38
今天看了点nginx的rewrite资料,但是不太明白,也没有比较详细的资料,希望大家能帮忙给点指点,谢谢if (!-e $request _filename){ rewrite ^/(\w+)/(.*)$ /$1/index.php last;}这段谁能给我解释下呢,中间的 \w+ 是表示什么,$1代表什么,最好能给个例子,原来是什么地址,然后重定向之后又是什么效果
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

\w+ 匹配由数字、26个英文字母或者下划线组成的字符串
.* 意味着能够匹配任意数量的任何字符
$1-$9存放着正则表达式中最近的9个正则表达式的匹配结果,这些结果按照子匹配的出现顺序依次排列。
$1 代表的是匹配的第一个结果
括号表示的是表达式定义的“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个) 上面的表达式有2个匹配组 (\w+) 和 (.*) 所有后面可以用 $1 和 $2 来用

比如你的例子
^/(\w+)/(.*)$ /$1/index.php last;

/abc123/bcdfda => /abc123/index.php

 

查看完整回答
反对 回复 2019-03-03
  • 2 回答
  • 0 关注
  • 746 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信