为了账号安全,请及时绑定邮箱和手机立即绑定

如果不存在默认文档,则重写 IIS web.config

如果不存在默认文档,则重写 IIS web.config

PHP
狐的传说 2023-07-08 21:01:05
我有一个IIS,如果没有定义的页面(即),web.config它可以部分地重写对另一个本地文件夹的请求。wwwrootindex.php因此,像这样的 url:www.blah.net/something/index.php会正确显示页面。但是,www.blah.net/something/重写到另一个 URL 并忽略index.php该目录中的 。<configuration><system.webServer><defaultDocument enabled="true" /><rewrite>            <rules>                <rule name="RewriteAll" stopProcessing="true">                    <match url="(.*)" />                    <conditions logicalGrouping="MatchAll">                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />                    </conditions>                    <action type="Rewrite" url="_h5ai/public/index.php" appendQueryString="true" />                </rule>            </rules></rewrite>        <caching enabled="false" enableKernelCache="true" /></system.webServer></configuration>
查看完整描述

2 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

相当简单,只需添加一个条件来检查文件是否存在。


<conditions>

<add input="{Document_Root}/{REQUEST_URI}/index.php" matchType="IsFile" negate="true" />

</conditions>

另外,请在清除本地浏览器缓存后或在浏览器的隐身窗口中验证结果。

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


查看完整回答
反对 回复 2023-07-08
?
繁星coding

TA贡献1797条经验 获得超4个赞

我认为你需要告诉 IIS 你的默认文档是什么。更换线路


<defaultDocument enabled="true" />


<defaultDocument>

  <files>

    <clear />

    <add value="index.php" />

    <add value="index.htm" />

    <add value="default.php" />

    <add value="default.htm" />        

  </files>

</defaultDocument>

IIS 将按照列出的顺序检查默认文档部分中列出的所有文件名,您可以拥有任意数量的文件名。该<clear />行告诉 IIS 忽略标准服务器设置。(如果您没有指定任何默认文件,我认为它会查找“Default.htm”、“Default.aspx”和“Default.asp”。)


查看完整回答
反对 回复 2023-07-08
  • 2 回答
  • 0 关注
  • 161 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信