nginx rewrite 问题 5

if($host~*^192\.168\.1\.(.*?)$){set$allowHost‘1’;}if($allowHost!~‘1’){}第一行中为什么要加问号呢?不... if( $host ~* ^192\.168\.1\.(.*?)$ )
{
set $allowHost ‘1’;
}
if( $allowHost !~ ‘1’ )
{

}
第一行中为什么要加问号呢?不加不是也行么?问号是什么意思在里面?大神们帮帮忙!!!
展开
 我来答
心随心潮
2015-05-27 · 知道合伙人软件行家
心随心潮
知道合伙人软件行家
采纳数:5854 获赞数:45144
毕业后从事网页版面设计美工行业,至今已有四年工作经验。

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

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

/abc123/bcdfda => /abc123/index.php
追问
你的意思我明白。但是我特别想知道上面第一行的?代表什么意思  感觉不加上?也行啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式