php - HTTP 错误 500.19 - 内部服务器错误

php - HTTP Error 500.19 - Internal Server Error

我正在学习在 IIS 服务器上托管 php Web 应用程序。我已将其设置为网站。我已授予 IIS_USER 和 IUSER 文件夹 r/w 权限。关联应用程序池标识“WIN_USER_A”也具有此文件夹访问权限。

当我浏览网站时出现以下错误。我知道那里有相关的线程,但我要么尝试过要么不明白。不幸的是,我完全陷入了这个错误:(,link2)

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.

Detailed Error Information:
Module     IIS Web Core
Notification       Unknown
Handler    Not yet determined
Error Code     0x8007000d
Config Error       
Config File    \?\C:\inetpub\wwwroot_0\version[=11=]1\public\web.config
Requested URL      http://beta.test-example:80/
Physical Path      
Logon Method       Not yet determined
Logon User     Not yet determined

Config Source:
   -1: 
    0:

网络配置

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Imported Rule 1" stopProcessing="true">
          <match url="^(.*)/$" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
          </conditions>
          <action type="Redirect" redirectType="Permanent" url="/{R:1}" />
        </rule>
        <rule name="Imported Rule 2" stopProcessing="true">
          <match url="^" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php" />
        </rule>
      </rules>
    </rewrite>
        <defaultDocument  enabled="true">
            <files>
                <clear />
                <add value="index.php" />
            </files>
        </defaultDocument>
        <directoryBrowse enabled="true" />
  </system.webServer>
</configuration>

根据错误信息和web.config设置,我猜你可能忘记安装url重写模块。我建议你可以先检查你是否在IIS中安装了url模块,你可以尝试删除web.config中的rewrite节点。如果删除rewrite节点后PHP应用可以正常访问,说明你没有安装rewrite模块

如果你没有安装IIS url重写模块,我建议你可以按照以下步骤操作:

1): 访问 http://www.iis.net/downloads/microsoft/url-rewrite

2):在页面底部,您可以在不使用 Web 平台的情况下下载安装程序。

3):运行 MSI 安装程序将 URL 重写模块添加到您的服务器。

4): 重新访问您的 PHP 应用程序。

如果问题仍然存在,请随时告诉我。