URL重定向时如何让正则引擎将%5C';视为纯文本匹配?
正则匹配纯文本特殊字符的解决方案
你的问题核心是正则引擎把URL附加的%5C';部分当作语法解析,而非纯文本。解决方法分两种场景:
场景1:软件匹配原始未解码的URL
直接用正则的字面量包裹符\Q和\E把特殊段封装起来,让引擎完全按纯文本匹配:
匹配正则:
^/(.*)\Q%5C';\E/
重定向目标保持:
/$1/
\Q标记字面量匹配的开始,\E标记结束,中间的所有字符都会被当作普通文本,不会被解析为正则语法。
场景2:软件先解码URL再匹配
此时%5C会被解码为反斜杠\,而\是正则的转义符,需要手动转义为\\,所以正则要写成:
匹配正则:
^/(.*)\\';/
重定向目标同样保持:
/$1/
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

