2010-10-08 112 views
3

我不知道在DotNetNuke中實現自定義永久性虛榮URL(我的術語,不確定它們是真正稱爲什麼)的解決方案。有誰知道解決方案?它可以配置核心,使用第三方模塊,或者從頭開始編寫它的建議。如何在DotNetNuke中創建一個持久的虛榮URL?

下面是我在想什麼:

  1. 我想點的人:http://mywebsite.com/awesome
  2. 我想下面的網址是http://mywebsite.com/genericpage.aspx?key=awesome&etc=etc
  3. 想要的網址,以重定向。我希望用戶只能看到http://mywebsite.com/awesome

基本上我想象一下,管理員能夠創建這些虛空URL並指定虛空URL是什麼以及底層URL是什麼。

回答

3

開箱即用的最接近的事情是在DotNetNuke根目錄中找到SiteUrls.config中的友好網址。

這樣:

  1. 你點的人: http://mywebsite.com/awesome.aspx
  2. 你有一個基本的URL http://mywebsite.com/Default.aspx?tabid=ID&etc=etc
  3. 用戶可以看到: http://mywebsite.com/awesome.aspx

主要的限制是,你會有一個.aspx擴展名。

SiteUrl.config規則是這樣的:

<RewriterRule> 
    <LookFor>.*/awesome.aspx</LookFor> 
    <SendTo>~/default.aspx?tabid=ID&amp;etc=etc</SendTo> 
</RewriterRule> 

重寫規則傳入的URL在LookFor截面的正則表達式匹配,並將其發送給在區段的SendTo底層網址。你需要注意查詢字符串參數中的XML escape character'&'。

URL Master這樣的第三方擴展提供了更加細緻的控制,並且您可以根據頁面名稱使用全球友好的url方案,並可以使用或不使用.aspx擴展名。儘管如此,如果您擁有帶URL依賴關係的自定義模塊,一個簡單的「一次一個url」方法可能會更安全。

+0

完美,這正是我所期待的。不知何故,我沒有意識到它的工作方式。也許我幾年前就忘了:) – 2010-10-10 16:05:53

0

ActiveSocial支持這些,我認爲我在IFinity的URL Master的版本2.x中看到了一些關於這方面的支持,但我現在找不到任何東西。