2016-08-22 35 views
3

我使用MVC下面在我的應用程序創建一個鏈接到我的主頁:鏈接沒有斜線

<a href="~/">home</a> 

不幸的是,這是一個應用程序下運行,這將創建一個像

鏈接
<a href="/app-name/">home</a> 

有沒有辦法創建這個鏈接到app-name沒有結尾的斜線(或沒有隻是硬編碼)?

使以斜線的任何URL結束了我們的網站是canonicalised被重定向到其非尾隨斜線版本,因爲這個環節有一個尾隨斜線上,它造成不必要的重定向啤酒花,這是懲罰我們的SEO評級

+0

(0 ,MyString.Length - 1) –

回答

2

感謝來自Lajos Arpad的評論,它讓我思考了構成url的另一個問題,所以我想如果我使用VirtualPathUtility.ToAbsolute,那麼我可能能夠對結果進行子串處理。

但使用下列意味着我並不需要串來獲得我所需要的網址:我建議檢查是否URL的endsWith(「/」),如果是,收集子串

<a href="@VirtualPathUtility.ToAbsolute("~")">Home</a> 
1

的Html.ActionLink助手應該產生一個符合您的要求的鏈接:

@Html.ActionLink("home", "Index", "Home") 

假設您的主頁被稱爲「指數」,並通過了「HomeController的」渲染。

+1

不幸的是,這也增加了最後的斜槓 – Pete

+0

看起來應用程序中的路由配置與我的應用程序有所不同。是[RouteCollection.AppendTrailingSlash](https://msdn.microsoft.com/en-us/library/system.web.routing.routecollection.appendtrailingslash(v = vs.110).aspx)設置爲true? –

+0

不知道 - 我沒有設置它,除非默認爲true,那麼我不這麼認爲 – Pete