我有一个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>
另外,请在清除本地浏览器缓存后或在浏览器的隐身窗口中验证结果。
如果问题仍然存在,请随时告诉我。
繁星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”。)
- 2 回答
- 0 关注
- 161 浏览
添加回答
举报
0/150
提交
取消