2014-09-29 16 views
0

我有IIS上的“测试”网站和它的“sub1”子应用程序。IIS站点上的子应用程序内的相对URL

当我请求domain.com/sub1时,IIS会成功处理子应用程序。

代码中的一些URL是相对的,当我在代码/组件/测试中使用类似这样的应用程序时,应用程序请求后面的url domain.com/component/test而不是domain.com/sub1/component/test。

为了使相对URL有效,我需要更改哪些内容。

回答

0

在您的代码中,使用@Url.Content("~/")<% =Url.Content("~/") %>来到达应用程序的相对根目录。

或者,有时候,你可以用~/前缀脱身,但一般只用在布局js和css文件

注:@是Razor视图引擎和<% %>是ASPX视图引擎,你没有指定您所使用的

编辑:(基于OP评论)

CSS就可以从你的CSS托管的目录相对的,你可以使用../遍历目录。对于你的JS,你可以编辑这些文件吗?我将定义一个SITE_ROOT变量布局(以上所有的JS文件),然后引用变量从您的JS文件中

例如:var SITE_ROOT = '@Url.Content("~/")';

然后用SITE_ROOT + '/relative_url'

+0

这些前缀JS文件您的来电问题来自JS/CSS文件。 POST URL是在JS中硬编码的。所有网址都以“/”开头 – 2014-09-29 14:42:14

+0

我根据您的评论编辑了我的答案 – 2014-09-29 14:46:31

相关问题