我正在将博客从dasBlog迁移到BlogEngine。在dasBlog中,我的URL看起来是这样的。
http://pfsolutions-mi.com/blog/2008/03/08/Beyond-Compare.aspx
而在BlogEngine中,我的URL看起来是这样的。
http://pfsolutions-mi.com/blog/post/2008/03/08/Beyond-Compare.aspx
这两个URL之间唯一的区别是BlogEngine中的"post“子文件夹。
由于我目前正在使用IIS重写从URL中删除WWW,所以我认为最简单的解决方案是创建另一个规则来处理添加子文件夹的问题。我试过这样的方法。
rule name="Blog重定向“enabled=真”stopProcessing=“true
匹配url="^blog/(_0-9+)/(_0-9+)/(_0-9+)/(_0-9a-z-+).(_0-9a-z-+)$“
行动type=“重定向”url=博客/post/{R:1}/{R:2}/{R:3}/{R:4}.{R:5}“redirectType=”临时“
然而,当我输入一个旧的dasBlog网址时,它不会被重定向到新的位置。相反,我得到了通用的BlogEngine 404错误页面。
注意:一旦我知道一切都正常,我计划将redirectType改为永久的。
发布于 2012-05-14 07:20:36
你的匹配的正则表达式不应该更像这个吗?
match url="^blog/([0-9]+)/([0-9]+)/([0-9]+)/([\w-]+)\.([a-z]+)$"日期号没有下划线,而且你的[_0-9a-z-]+不包括大写字母,比如“无法比较”。
所以在这里我们应该有: url="^blog/digits/digits/digits/any-word-characters.lowercase-letters$“
我们还可以通过以下方式指定更多内容:
match url="^blog/([0-9]{2,4})/([0-9]{2})/([0-9]{2})/([\w-]+)\.([a-z]{3,4})$"基于这样的假设,你总是:
结尾。
编辑:我认为"\w+“不包括连字符,所以您必须将其转换为"\w-+”。
https://stackoverflow.com/questions/10450478
复制相似问题