Iis 7 当在URL部分中输入了实例名称,但基于Web.config文件中的扩展名阻止对文件的访问时,如何导航到index.php?

Iis 7 当在URL部分中输入了实例名称,但基于Web.config文件中的扩展名阻止对文件的访问时,如何导航到index.php?,iis-7,web-config,Iis 7,Web Config,我有一个要求,我使用IIS的Web.config文件中的以下行阻止了对基于扩展名的文件的访问 <system.webServer> <security> <requestFiltering> <fileExtensions allowUnlisted="false"> <add fileExtension=".php" allowed="true" />

我有一个要求,我使用IIS的Web.config文件中的以下行阻止了对基于扩展名的文件的访问

<system.webServer>
   <security>
      <requestFiltering>
         <fileExtensions allowUnlisted="false">
            <add fileExtension=".php" allowed="true" />
            <add fileExtension=".js" allowed="true" />
            <add fileExtension=".css" allowed="true" />
            <add fileExtension=".png" allowed="true" />
            <add fileExtension=".jpg" allowed="true" />
            <add fileExtension=".gif" allowed="true" />
            <add fileExtension=".jar" allowed="true" />
         </fileExtensions>
      </requestFiltering>
   </security>
</system.webServer>


但是这些行阻止应用程序导航到index.php(主页)。如何解决这个问题?

遵循Lex Li的方法将达到您的要求。此外,URL重写还可以提供另一种基于{PATH_INFO}变量阻止所有未列出的扩展的方法

 <rule name="rewrite" enabled="true" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{PATH_INFO}" pattern="\.(js|php|css|png|jpg|gif|jar)$" negate="true" />
                    </conditions>
                    <action type="AbortRequest" />
                </rule>

添加
,然后重试。谢谢@LexLi,这解决了我的问题。