IIS路径忽略应用程序文件夹

时间:2016-12-16 00:52:09

标签: iis

我缺乏IIS和IIS管理员的专业知识,甚至在这里也没有正确的谷歌条款,所以我希望你能记住这一点,如果你想点击那个downvote按钮。

感谢。

好的,所以我有一个角度应用程序,我刚刚在本地开发它后转移到IIS服务器,而不使用IIS。

基于IIS的应用程序副本有效,因为它将按预期提供index.html。不幸的是,外部文件(.ccs,.js等)的链接都被破坏了。

该应用程序位于此文件夹中:

\\iis.dev.local\c$\inetpub\wwwroot\the-application

它的.css文件就在这里:

\\iis.dev.local\c$\inetpub\wwwroot\the-application\css\main.css

最初写的,指向.css文件的链接,我们将其称为“链接1”:

<link rel="stylesheet" href="/css/main.css">

这在开发中运行良好,但在IIS上不起作用。

但是, 工作,我们将其称为“链接2”:

<link rel="stylesheet" href="/the-application/css/main.css">

看看我如何添加应用程序本身所在的文件夹?这很奇怪,因为相对于index.html,“链接1”应该是正确的 - 但事实并非如此。

我怎样才能说服我的应用程序,它的基本网址应该是它所在的文件夹,而不是上面的某个级别?

随机部分猜测和/或有用信息?

1)应用程序位于默认应用程序池中。

2)某事web.config

编辑:搞砸了一些路径。

2 个答案:

答案 0 :(得分:0)

尝试使用<base> HTML元素设置根目录。

https://www.tutorialspoint.com/html/html_base_tag.htm

在你的例子中,它将是:

<base href="https://www.the-application.com" />

然后其余的应该以相对路径流动。

答案 1 :(得分:0)

在本地计算机上进行开发时,您最有可能在DEFAULT网站下的虚拟文件夹下运行。

当您移动到服务器时,您现在正在站点的ROOT上运行。

选项:

  1. 在IIS的根目录上的DEV计算机上创建一个新站点。然后使用此路径测试您的网站。迁移到生产时,路径将是相同的。

  2. 使用正确的路径创建变量,如果运行LOCALHOST(在url中),则使用一个路径,否则使用另一个路径。使用JavaScript添加HTML链接(我在IIS下用于Cordova开发的JavaScript站点)。

  3. 将您的网页扩展名从.html更改为.aspx (是的,我知道谁想要这样做...)然后按如下方式更改您的链接。 (我必须删除下面代码中的起始&lt;和结束/&gt;,它不会在帖子中格式化)

  4. link rel =“样式表”type =“text / css”href =“&lt;%= ResolveUrl(”〜/ css / main.css“)%&gt;”

    当您在之后浏览源代码时,您会看到......(或者当您导航到子页面时,它会为您设置正确的相对路径)

    <link rel="Stylesheet" type="text/css" href="css/main.css"/>