2010-04-22 24 views
1

我有一個網站,並已經開始嘗試做一些URL rewritting,但要知道,如果有一個解決方案,以使其更好地重寫URL DNN的

我現在的狀態的URL看起來像這樣

http://snit.us/Home/tabid/314/CN/1/RE/23/United_States_Missouri.aspx

我想改變他們的東西更有序所以在我的新方案,我想這樣做

http://snit.us/Home/United_States/Missouri/default.aspx

明顯的一點是,如果我在新的URL刪除密蘇里它會發現所有美國 - 等等等等

更好的辦法是有http://snit.us/Home/United_States/Missouri所以它甚至更簡潔

回答

0

我認爲最好的方法是爲DotNetNuke實現免費的iFinity URL Rewriter。最起碼,你應該能夠做到以下幾點:

http://snit.us/Home/CN/1/RE/23/United_States_Missouri 

如果您正在使用IIS 6,你要啓用IIS擴展名的URL。如果您使用的是IIS 7,則不需要進行任何更改。

要設置它,您只需要將iFinity提供的DLL添加到您的站點的bin目錄,然後按照隨附的說明配置您的web.config(確保創建備份副本爲了安全和方便,你的web.config文件)。

下面是一個示例配置,我們使用的dnnGallery.net

<add name="Ifinity.FriendlyUrl" type="iFinity.DNN.Modules.FriendlyUrl.DNNFriendlyUrlProvider, iFinity.FriendlyUrlProvider" includePageName="true" regexMatch="[^\+a-zA-Z0-9 _-]" urlFormat="HumanFriendly" redirectUnfriendly="true" doNotRewriteRegex="(\.axd)|(/DesktopModules/)" doNotRedirect="SearchResults;" doNotRedirectRegex="[.]*(/logoff.aspx)" pageExtensionUsage="never" parameterHandling="ordered" checkForDupUrls="true" forceLowerCase="true" redirectWrongCase="false" replaceSpaceWith="_" redirectDefaultPath="true" />