【问题标题】:IIS Throwing HTTP 500 for rewrite rulesIIS 为重写规则抛出 HTTP 500
【发布时间】:2014-04-07 06:33:31
【问题描述】:

当我将 web.config 放入任何文件夹/主目录时,它似乎正在抛出 HTTP 错误代码:500--不幸的是我无法访问日志,所以我看不出为什么,所以肯定是到我的 web.config - 我以前从未使用过 IIS,但我正在尝试将所有请求重新路由到一个名为“api.php”的文件,这是我的 web.config 文件。

<rewrite>
    <rules>
        <rule name="rule 1Q">
            <match url="^/.*"  />
            <action type="Rewrite" url="/api.php" />
        </rule>
    </rules>
</rewrite>

Apache 等效项:

RewriteEngine on
RewriteRule ^/.* /api.php  

非常感谢任何帮助。

【问题讨论】:

  • 什么版本的 IIS?并且您是否有任何其他位于 IIS 之上的服务,例如(示例)Tomcat 来解析您的 Web 文件?我知道有一个 CGI 开关和一些可能需要更改的 isapi 设置才能让您的重写规则与 IIS 一起使用。您之前是否在此 IIS 服务器上使用过重写规则?排除施工错误。
  • 我使用的是 7.5 版,重写规则的工作原理与我之前测试过的一样。是否有任何 PHP 错误会导致这种情况(只是出于兴趣)?我的 web.config 还好吗?
  • 我不确定,但我知道 Coldfusion 10 上的 Isapi 和 IIS 需要一些更改,因为 Tomcat 和 IIS 不能很好地运行。该信息可能对您有用,至少考虑其他事情并让您更接近解决方案。让我挖掘一些信息,然后再给你发一篇帖子,其中包含一些要检查的设置。
  • 感谢,谢谢弗兰克!
  • 好的,这里是专门讨论 IIS 和 Apache 的,它可以收集起点。我会看看是否还能找到一些更具体的提示。 help.adobe.com/en_US/ColdFusion/10.0/Installing/…

标签: iis url-rewriting iis-7.5


【解决方案1】:

这不是一个确切的答案,因为我不确定您的服务器变量,但这里有一些可能对您有用的东西。 Here. 这将介绍第 7 版的 IIS 设置,并包含一些基本概念。 There is rewrite module/tool that could help 但我没用过。 And another document here...像第一个链接一样显示 GUI 界面,在 7.5 中。

同样不是具体的解决方案,但希望你有一些服务器专家可以帮助你至少正确设置 IIS Isapi 为您冒险。

【讨论】:

  • 弗兰克,我刚刚在没有 web.config 文件的情况下进行了测试,一切正常,尽管当我将 web.config 放入目录时,它会给出 500 HTTP 响应错误——即使没有任何内容web.config 文件。是否有需要做的 web.config 设置——这很常见吗?它在主目录中。
  • 嗨,它运行良好并不让我感到惊讶。 Isapi 重写过滤器。您查看过您的 Isapi CGI 设置吗? iis.net/configreference/system.webserver/security/… 也看看这个帖子... forums.iis.net/t/1178302.aspx
  • 另外,当我几年前与 Isapi 争吵时,我在这里使用了这些人的包:helicontech.com/isapi_rewrite,这里是一些比较两个不同包的博客讨论。 helicontech.com/articles/… 也许这会是更好的方法,因为您已经在 Apache 中构建了重写。
猜你喜欢
  • 1970-01-01
  • 2018-02-12
  • 2019-11-27
  • 2012-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-01
相关资源
最近更新 更多