2011-03-28 237 views
0

我目前正在OrchardCMS中做一些事情,我們正在使用URLRewrite,以便如果用戶從site.com或site.com/orchard訪問網站,他們獲取site.com/orchard頁面。MVC urlHelper.RouteUrl提供服務器上的完整路徑

其中一個問題是它將URL扔在菜單中,因爲它使用了urlHelper.RouteUrl,它使用了錯誤的上下文,然後生成了諸如site.com/page1而不是site.com/orchard/page1的url。有沒有辦法告訴urlHelper.RouteUrl從不同於當前頁面的頁面開始,還是讓函數返回完整路徑?

感謝

回答

0

也許你可以使用果園重寫模塊,你可以定義重定向規則是這樣的:

RewriteCond %{REQUEST_URI} !^orchard [NC] 
RewriteRule ^(.*)$ /orchard/$1 [R=301,L] 
+0

的問題是,我們要重新導向另一個網站,所以真的有IIS的水平上進行。 – 2011-03-30 10:02:50

0

嘗試下site.com/orchard虛擬目錄,然後設置你的應用程序當用戶輸入site.com時,使用IIS中的UrlRewrite進行適當的301重定向。這是一個更清潔的方法。

HTH