所以我在IIS6和.net 2.0框架上运行subtext 1.95。我想做的是创建一个很好的虚荣心URL,指向在subtext系统中发布的特定文章。虚荣的url应该是这样的: mydomain.com/blog/toc/,但是它所指向的潜文本文章实际上有一个这样的路径: mydomain.com/blog/archive/2009/01/11/table-of-contents.aspx
我可能只需要在IIS中设置一个forward就可以做到这一点,但我正在寻找一种更优雅的解决方案,它不需要任何像这样的自定义IIS配置。我也不想改变任何潜台词的核心代码,因为我给自己留下了一条升级的道路。
将一个default.aspx文件放在/toc/文件夹中并将该页转发到长路径中是最佳解决方案吗?
提前感谢!
发布于 2010-01-15 14:25:44
注意,这适用于Subtext 2.1.2及以下的
网址匹配在Web.config中处理。您可以搜索如下所示的行:
<HttpHandler pattern="(?:/archive/\d{4}/\d{2}/\d{2}/[-_,+\.\w]+\.aspx)$" controls="viewpost.ascx,Comments.ascx,PostComment.ascx"/>并在那里更改正则表达式。不幸的是,潜台词将继续生成旧的链接。在即将到来的Subtext 2.5中,情况略有改善。
另一个问题是,在IIS6中,除非/toc/目录实际存在,否则IIS不会将请求传递给ASP.NET,因此您需要使用通配符映射来实际执行此操作。
目前,我认为您可能需要通过IIS中的某种URL重写isapi过滤器来实现这一点,以达到您想要的效果。
发布于 2010-01-20 22:04:21
谢谢你的信息菲尔。
最后,我创建了一个/toc/文件夹,并创建了一个重定向到博客文章的default.aspx文件。这可能是最简单的解决方案,我只用了一分钟就实现了。
https://stackoverflow.com/questions/438835
复制相似问题