繁体   English   中英

使用查询字符串从URL重写到文件夹

[英]Rewrite from url with querystring to folder

我想这样重写网址:

/files/b9f8d0b5e35248579953755b3677a59b.png?w=400&h=100&mode=crop

至:

/files/400/100/crop/b9f8d0b5e35248579953755b3677a59b.png

我的规则是:

.AddRewrite(@"^files/(.*)?w=(\d+)&h=(\d+)&mode=(.*)$", "files/$2/$3/$4/$1", true)

但是它不起作用,我该如何解决? 非常感谢!

您的正则表达式以^开头,这使得模式仅在以files/开头时才匹配。 否则看起来不错。 我已经将[^?]用作与?之外的其他任何字符都匹配的字符组? ,以及[^&]的相似字符组。

AddRewrite(@"/files/([^?]+)\?w=(\d+)&h=(\d+)&mode=([^&]+)", "/files/$2/$3/$4/$1", true)

^在https://www.regexplanet.com/share/index.html?share=yyyyye98k3r上进行了测试

您可能需要考虑如果查询参数顺序更改,将会发生什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM