2009-01-13 74 views
0

因此,我在IIS6和.net 2.0框架上運行子文本1.95。我想要做的是創建一個漂亮的虛空URL到在子文本系統內發佈的特定文章。虛空網址應該如下所示:mydomain.com/blog/toc/,但它指向的子文本實際上有這樣的路徑:mydomain.com/blog/archive/2009/01/11/table-of -contents.aspx爲子文章添加虛榮網址

我可能只是在IIS中設置一個轉發器來做到這一點,但我正在尋找一個更優雅的解決方案,不需要像這樣的任何自定義IIS配置。我也想避免修改任何subtext核心代碼,爲我自己留下升級途徑。

是在/ toc /文件夾中放置一個default.aspx文件並將該頁面轉發到長路徑的最佳解決方案?

在此先感謝!

回答

2

注意,這適用於潛臺詞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過濾器來實現你想要的功能。

0

感謝您的信息菲爾。

我最終創建了一個/ toc /文件夾,並有一個重定向到博客文章的default.aspx文件。這可能是最簡單的解決方案,只花了我一分鐘實施。