2016-08-22 42 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