在IIS中运行slim时未找到页面

在IIS中运行slim时未找到页面,iis,url-rewriting,web-config,slim,Iis,Url Rewriting,Web Config,Slim,我试图在IIS中运行slim应用程序,我将其添加为默认网站中的应用程序,我从.htaccess导入了规则,并将物理地址更新为public,但仍然没有找到页面 需要注意的是,当我将其添加为网站(不是默认网站)时,它可以正常工作!但我需要在默认网站中运行它,才能通过网络使用公共IP访问它。 这是web.config文件 <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServe

我试图在IIS中运行slim应用程序,我将其添加为默认网站中的应用程序,我从
.htaccess
导入了规则,并将物理地址更新为
public
,但仍然没有找到页面 需要注意的是,当我将其添加为网站(不是默认网站)时,它可以正常工作!但我需要在默认网站中运行它,才能通过网络使用公共IP访问它。

这是web.config文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule 1" stopProcessing="true">
                    <match url="^" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <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" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>


任何建议都将不胜感激

如果要直接使用publich IP地址而不添加端口(即使用80端口),则应修改默认网站的端口而不使用80,并为新网站添加80端口绑定

有关详细信息,请参考以下步骤:

1.打开IIS管理控制台,右键单击默认网站,然后单击编辑绑定

2.选择80端口绑定并将其修改为其他端口


3.打开另一个web应用程序,并将80端口绑定添加到该应用程序。

错误背后的原因是以前为使slim应用程序在Apache server的
dependencies.php
文件中工作而添加的附加设置

    $container['environment'] = function () {
     // Fix the Slim 3 subdirectory issue (#1529)
     // This fix makes it possible to run the app from localhost/slim3-app
     $scriptName = $_SERVER['SCRIPT_NAME'];
     $_SERVER['REAL_SCRIPT_NAME'] = $scriptName;
     $_SERVER['SCRIPT_NAME'] = dirname(dirname($scriptName)) . '/' . basename($scriptName);
     return new Slim\Http\Environment($_SERVER);
   };
通过删除它并检查项目权限,我让它工作了