【发布时间】:2018-08-25 02:28:40
【问题描述】:
我对 IIS 还很陌生,如果这是一个基本问题,我深表歉意。
我有一个服务于公司内部网站的 IIS 配置(php 而不是 asp.net)。该网站的产品版本处于“默认网站”级别,我已将网站的演示和测试版本映射为虚拟目录。演示版和测试版本质上是 prod 目录的副本。我注意到将 web.config 复制到这些 VD 时,我在 VD 的根 url 上收到错误 500。 IE。主网站是https://mainwebsite.com,工作正常,但https://mainwebsite.com/demo/ 不能工作,而https://mainwebsite.com/demo/index.php 工作正常。
web.config 文件非常基本:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
</handlers>
<defaultDocument>
<files>
<add value="index.php" />
</files>
</defaultDocument>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="00:03:00" />
</staticContent>
</system.webServer>
</configuration>
将 web.config 文件移到 VD 中可以解决此问题。即使文件相同,但我认为文件不会引起冲突,因为我的理解是 IIS 支持多个 Web 配置文件。
虽然我有一个通过重命名或删除文件的解决方法,但我想知道是否有办法将文件保留在适当的位置而不会导致此错误。
【问题讨论】:
-
打开
detailed errors for localhost从 IIS 管理员浏览网站,看看到底是什么问题并将其添加到问题中。 blogs.msdn.com/b/rakkimk/archive/2007/05/25/… 另外,如果我要在我的 Win box 上使用 PHP,我会使用 Apache。 -
谢谢,这应该会有所帮助。在我开始在这里工作之前,webstack 就已经到位,否则我自己会使用 apache 或 nginx。
-
太棒了,非常有帮助。