协助处理图像的网址重写规则

时间:2013-02-06 01:20:54

标签: c# iis url-rewriting rewrite

我正在使用在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]

我可以用来实现这个规则的任何想法吗?

1 个答案:

答案 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的语法。