我的主页位于我的网络根目录中,其相对网址以../../lib/
开头,因此../..
位于网络根目录之上。
当我尝试使用IIS Express服务我的网站时,我得到了404。
如何在不移动资源或更改html页面中的网址的情况下使其工作?
答案 0 :(得分:0)
可能有更直接的方法,但可以通过在web.config
中添加以下内容来实现。
我注意到404网址就像是在根网上,所以match url
位于根网点。我想它在解释路线时忽略了../..
。
首先,我在本地IIS上设置一个虚拟目录,以提供根目录上方的文件。我把它称为lib
并将其指向根上方的内容。这里显示的实际路径是我需要的,仅作为示例。
<system.webServer>
<rewrite>
<rules>
<rule name="Files Above The Root" stopProcessing="true">
<match url="lib/(.*)" />
<action type="Redirect" url="http://localhost/lib/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
我只是使用IIS Express进行调试,它与网站在生产中的工作方式没有任何关系。当它只是用于调试时,线外的着色是可以的。网站构建根本不依赖于此,并且配置不会干扰在实际环境中运行的网站,因为没有网址会匹配此路径。