You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IIS显示文件目录而非index.php,点击文件报404错误求助

IIS下WordPress显示目录+404问题排查

1. 确认默认文档配置真的生效

你说已经把index.php设为默认页首位,但得再仔细核对:

  • 右键站点→属性→文档标签,确认index.php在列表最顶部,且是勾选状态
  • 检查父级服务器的默认文档配置,有没有覆盖站点级的设置(有些服务器会锁死父级配置,导致站点级修改无效)
  • 子目录的默认文档是否继承了站点设置,别单独改了子目录的配置

2. 检查PHP模块是否配置到位

IIS没正确配置PHP的话,根本解析不了index.php,自然会显示文件目录,点文件还会404:

  • 先装IIS的PHP管理器(或者手动配置FastCGI),然后去处理程序映射里看有没有.php的FastCGI规则,路径要指向你安装的php-cgi.exe
  • 新建个phpinfo.php,写入内容<?php phpinfo(); ?>,访问这个文件,如果显示不了PHP信息,那就是PHP配置的问题,先解决这个再说

3. 核对文件权限

IIS应用池的用户得有WordPress目录的读写权限:

  • 右键站点根目录→安全,添加IIS AppPool\[你的站点名称]这个用户,给它读取、写入、列出文件夹内容的权限
  • wp-content、wp-includes这些子目录也得给对权限,特别是wp-content,没写入权限后续连插件都装不了

4. 配置URL重写规则

WordPress的内页依赖URL重写,IIS没开这个模块或者没配规则,点内页必404:

  • 先装IIS URL重写模块(用Web平台安装器装最方便)
  • 确保根目录有web.config文件,没有的话去WordPress后台改固定链接设置,保存后会自动生成;或者手动写一个,示例代码:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="WordPress Rewrite" patternSyntax="Wildcard">
          <match url="*" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

5. 检查站点绑定和DNS

最后确认站点绑定的主机头是www.uacdn.info,DNS解析也没问题:

  • 去IIS的站点绑定里看,HTTP/HTTPS的主机头是不是准确,端口有没有设对(80/443)
  • 服务器本地ping一下www.uacdn.info,看是不是指向服务器的IP,避免DNS缓存导致访问错了服务器

内容的提问来源于stack exchange,提问作者Chris Barnett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 16:30:45