我缺乏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
?
编辑:搞砸了一些路径。
答案 0 :(得分:0)
尝试使用<base>
HTML元素设置根目录。
https://www.tutorialspoint.com/html/html_base_tag.htm
在你的例子中,它将是:
<base href="https://www.the-application.com" />
然后其余的应该以相对路径流动。
答案 1 :(得分:0)
在本地计算机上进行开发时,您最有可能在DEFAULT网站下的虚拟文件夹下运行。
当您移动到服务器时,您现在正在站点的ROOT上运行。
选项:强>
在IIS的根目录上的DEV计算机上创建一个新站点。然后使用此路径测试您的网站。迁移到生产时,路径将是相同的。
使用正确的路径创建变量,如果运行LOCALHOST(在url中),则使用一个路径,否则使用另一个路径。使用JavaScript添加HTML链接(我在IIS下用于Cordova开发的JavaScript站点)。
将您的网页扩展名从.html更改为.aspx (是的,我知道谁想要这样做...)然后按如下方式更改您的链接。 (我必须删除下面代码中的起始&lt;和结束/&gt;,它不会在帖子中格式化)
link rel =“样式表”type =“text / css”href =“&lt;%= ResolveUrl(”〜/ css / main.css“)%&gt;”
当您在之后浏览源代码时,您会看到......(或者当您导航到子页面时,它会为您设置正确的相对路径)
<link rel="Stylesheet" type="text/css" href="css/main.css"/>