我正在寻找一些帮助,使用正则表达式来解决IIS7上的301重定向问题。
我有指向http://mydomain.co.uk/dir/colour_photo_copying.html等网页的链接,我希望将这些文件重命名为使用连字符而不是下划线。
在逐个的基础上,我可以使用以下方法执行此操作:
<location path="colour-photo-copying.html">
<system.webServer>
<httpRedirect enabled="true" destination="colour_photo_copying.html" httpResponseStatus="Permanent" />
</system.webServer>
</location>
唯一的问题是我很少有这些并希望写一个正则表达式规则,但我不知道如何做到这一点。
我遇到过这个页面:IIS7 URL Rerwrite - how to replace all underscores with hyphens in a regex?但并不完全是我所希望的。
有任何正则表达的人帮忙吗?
非常感谢您的任何建议。
答案 0 :(得分:0)
好的,我找到了这个解决方案并且认为我会分享以防其他任何人看到它。
<rewrite>
<rules>
<rule name="replace underscore with hyphen" stopProcessing="true">
<match url="^(.*)_(.*).*$" ignoreCase="false" />
<action url="/{R:1}-{R:2}" type="Redirect" />
</rule>
</rules>
</rewrite>
如果有人觉得他们可以改进,请告诉我。
谢谢, 雅