使用博客引擎重定向 URL



我正在将博客从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 重写从 URL 中删除 WWW,我认为最简单的解决方案是创建另一个规则来处理添加子文件夹。 我尝试过这样的事情。

规则名称="博客重定向"已启用="true" stopProcessing="true">

match url="^blog/([_0-9]+(/([_0-9]+(/([_

0-9]+(/([_0-9a-z-]+(.([_0-9a-z-]+($">

action type="Redirect" url="blog/post/{R:1}/{R:2}/{R:

3}/{R:4}.{R:5}" redirectType="Temporary">

但是,当我输入旧的dasBlog URL时,它不会被重定向到新位置。 相反,我得到通用的博客引擎404错误页面。

注意:一旦我知道一切正常,我计划将重定向类型更改为永久。

匹配的正则表达式不应该看起来像这样吗?

match url="^blog/([0-9]+)/([0-9]+)/([0-9]+)/([w-]+).([a-z]+)$"

无论如何,日期数字中没有下划线,您的[_0-9a-z-]+不包含像"超越比较"中的大写字母。

所以这里我们应该有:url="^blog/digits/digits/digits/any-word-characters.smallcase-letters$">

我们还可以通过以下方法指定更多:

match url="^blog/([0-9]{2,4})/([0-9]{2})/([0-9]{2})/([w-]+).([a-z]{3,4})$"

基于您始终拥有的假设:

  1. 年份为"08"或"2008">
  2. 月份和日期为"01"或"11">
  3. 以 3 或 4 个小写字母(htm、html、php、asp、aspx 等(
  4. 结尾的文件结尾

编辑:我认为"\w+"不包括连字符,所以你必须把它变成"[\w-]+">

最新更新