如何让IIS Express在根目录上提供静态内容

时间:2015-09-28 21:04:31

标签: iis-express

我的主页位于我的网络根目录中,其相对网址以../../lib/开头,因此../..位于网络根目录之上。

当我尝试使用IIS Express服务我的网站时,我得到了404。

如何在不移动资源或更改html页面中的网址的情况下使其工作?

1 个答案:

答案 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进行调试,它与网站在生产中的工作方式没有任何关系。当它只是用于调试时,线外的着色是可以的。网站构建根本不依赖于此,并且配置不会干扰在实际环境中运行的网站,因为没有网址会匹配此路径。