TeaWeb/build

正则表达式中匹配#的问题

Closed this issue · 7 comments

你安装的TeaWeb版本:
0.1.7.3
你的操作系统:
CentOS7
你的问题简介:
正则表达式中匹配#的问题
问题详细描述:
在URL转写中,写正则表达式匹配,遇到#会有问题。如:
原始url:http://abc.com/test/#/
想要重写为:http://abc.com/#/
不论怎么写正则,都无法将#识别,只要url中没有#,就都正常。

iwind commented

井号(#)是浏览器端的锚点,任何浏览器都不会将其及之后的片段发送给服务器端,所以,当你访问 http://abc.com/test/#/ 的时候,相当于访问 http://abc.com/test/

iwind commented

你只需要将 /webapp1/ 重写为 / 即可。

在重写规则里,匹配规则写的是 /webapp1/(.+) ,目标URL写 /${1},然后在下面的匹配测试中,输入测试的地址http://abc.com/webapp1/#/user/login/,会提示匹配失败,只要去掉测试地址的#,即可成功改写。(.+)这个正则也改了好几种形式了,也不行。

iwind commented

你可以按照我说的直接保存然后试试:将 /webapp1/ 重写为 /

因为#号不被认为是标准URL的一部分。

iwind commented

在QQ或者微信群里吗?可以找我一下。