2017-06-05 29 views
0

在IIS 8.5中,我有一个默认网站,在该网站下有多个应用程序。其中几个应用程序实际上是为不同的用户组部署的相同网站代码,每个代码指向具有不同配置的不同数据库等等。IIS应用程序根目录的相对链接

是否可以在我的网站上创建一个链接到应用程序根目录而不是WEBSITE的超链接?如果我使用类似<a href="/" >Go Home</a>的东西,那么点击链接不会导航到http://myserver/myapplication,它链接到http://myserver

很明显,我可以硬编码链接,但这意味着必须编辑每个网站部署的代码。我可以通过将根URL存储在配置文件中来解决这个问题,也许这是实现我所需要的唯一方法,但它看起来过于复杂!当我在我的开发机器上调试时运行网站时,URL类似于http://localhost:12345(即没有应用程序名称),所以即使我在某处存储了根URL,它也不会无需额外工作即可开发。

我知道我可以使用像<a href="../">Go Home</a>这样的相对路径向上导航一定数量的级别,但我试图在自定义错误页面上使用此链接,所以理想情况下我希望它能够工作,即使用户不知何故导航到http://myserver/myapplication/foo/bar/foo/bar/foo/bar,在这种情况下,我的链接需要导航六个级别。关键是,我不知道包含链接的页面有多少层次可能。

我天真地认为应该有一个快捷方式,以<a href="/"...的方式到达应用程序根目录,但看起来我错了!

+0

什么版本MVC? –

回答

1

此前4版,你可以使用下面的代码:

<a href="Url.Content("~/") ">Root</a> 

随着4及更高版本,自动查找波浪的所以你可以:

<a href="~/">Root</a> 
+0

我认为有没有办法在纯HTML文件(而不是cshtml)中实现这一点?我试图在自定义错误页面中使用它,并且我希望它不要使用MVC路由或Razor,以便尽可能保持工作,即使应用程序的配置出现问题也是如此。 –

+0

不,它不可能通过纯html。 –

相关问题