0

所以我在 IIS6 和 .net 2.0 框架上运行 subtext 1.95。我想做的是为在潜文本系统中发布的特定文章创建一个漂亮的虚荣 URL。虚 url 应该是这样的:mydomain.com/blog/toc/,但它指向的潜台词实际上有这样的路径:mydomain.com/blog/archive/2009/01/11/table-of -contents.aspx

我可能可以在 IIS 中设置一个转发来执行此操作,但我正在寻找一种更优雅的解决方案,它不需要任何类似的自定义 IIS 配置。我还想避免更改任何潜台词核心代码,以便为自己留下升级路径。

将 default.aspx 文件放在 /toc/ 文件夹中并将该页面转发到长路径是最好的解决方案吗?

提前致谢!

4

2 回答 2

2

请注意,这适用于 Subtext 2.1.2 及以下版本

URL 匹配在 Web.config 中处理。您可以搜索如下所示的行:

<HttpHandler pattern="(?:/archive/\d{4}/\d{2}/\d{2}/[-_,+\.\w]+\.aspx)$" controls="viewpost.ascx,Comments.ascx,PostComment.ascx"/>

并在那里更改正则表达式。不幸的是,Subtext 将继续生成旧链接。在即将发布的 Subtext 2.5 中,情况略有改善。

另一个问题是,对于 IIS 6,除非 /toc/ 目录物理存在,否则 IIS 不会将请求移交给 ASP.NET,因此您需要使用通配符映射才能真正实现该工作。

现在,我认为您可能需要通过 IIS 中的某种 URL 重写 isapi 过滤器来实现您想要的。

于 2010-01-15T06:25:43.520 回答
0

感谢菲尔的信息。

我最终只创建了一个 /toc/ 文件夹,并拥有一个重定向到博客文章的 default.aspx 文件。这可能是最简单的解决方案,并且只花了我一分钟的时间来实施。

于 2010-01-20T14:04:21.097 回答