我正在使用在IIS 7.5上运行的MVC 4应用程序。我想创建一个重写规则,但我不熟悉它,所以需要帮助。
我的应用程序将调用以下URL
/image/[language]/category/[id]-[size]-[priority]_Some+Random+Text.[extension]
我想将此内容重写为以下内容,因为这是文件存在于磁盘上的位置。
/image/[language]/category/product/pr_[id]_[size]_[priority].[extension]
我可以用来实现这个规则的任何想法吗?
答案 0 :(得分:0)
IIS中的URL重写将接受RegEx规则。我相信以下规则在这里是合适的(YMMV,我目前无法测试它 - 您可以在IIS管理器中编辑重写规则时使用“测试模式”按钮自行测试。
^image/[a-zA-Z]+/category/[a-zA-Z0-9]+-[a-zA-Z0-9]+-[a-zA-Z0-9]+[_a-zA-Z\+]\.[a-zA-Z0-9]{,3}
和重写动作
images/{R:1}/category/producer/pr_{R:2}_{R:3}_{R:4}.{R:5}
这可能比你需要的更通用(ID可能只是(十六进制)十进制,大小可能只是十进制等等)但是应该给你一般的要点如何写。
此reference应提供您需要的任何其他信息以及将规则直接写入web.config
的语法。