线上一个例子,今天刚处理的问题,老的phpcms系统,在apache上使用正常,在ng上需要进行重写
http://xxx.xxx.xxx/news/index.php/admin/index/login
重写之后
location ~ /news/index.php/ {
rewrite ^(.*)/news/index.php(.*)$ $1/news/index.php?$2 permanent;
}
还碰到一种情况,也记录下
一个项目底下包含了另外一个项目,域名只有一个,在ng里面解析的时候注意下,需要进行单独的路由匹配,php解析
location ^~ /news/ {
}
匹配规则:
~ 区分大小写匹配
~* 不区分大小写匹配
!~不匹配
.匹配除换行符以外的任意字符
w 匹配字母或者数字或者下划线或者汉字
s 匹配任意空白符
d 匹配数字
匹配单词开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
* 重复0次或者更多次
+ 重复一次或者更多次
? 重复0或者一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
*? 重复任意次,但尽可能少重复
+? 重复1次或者更多次,但尽可能少重复
?? 重复0次或者1次,但尽可能少重复
{n,m}? 重复n到m次,但尽可能少重复
{n,}? 重复n次以上,但尽可能少重复
W 匹配任意不是字母,数字,下划线,汉字的字符
S 匹配任意不是空白符的字符
D 匹配任意非数字字符
B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
捕获 (exp) 匹配exp,并捕获文本到自动命名的组里