在IIS服务器部署WooCommerce网站遇HTTP Error 404.4无关联处理器问题
解决IIS部署WooCommerce时的HTTP Error 404.4问题
问题重现
访问http://localhost:8084/时触发错误:
HTTP Error 404.4 - Not Found The resource you are looking for does not have a handler associated with it.
已完成的操作:
- 安装PHP并通过FastCGI配置与IIS协同,
phpinfo()验证运行正常;安装MySQL并创建WooCommerce专用数据库及用户 - 编辑
php.ini启用mysqli扩展,重启IIS生效;为WooCommerce目录授予IIS_IUSRS组读写权限;更新wp-config.php配置数据库连接参数 - 在
web.config中添加URL Rewrite规则
排查与解决步骤
检查PHP处理程序映射是否生效
打开IIS管理器,定位到目标网站 → 功能视图 → 处理程序映射。确认存在针对*.php的FastCGI映射,可执行文件指向你的PHP安装目录下的php-cgi.exe(比如C:\PHP\php-cgi.exe)。若不存在,手动添加:- 点击「添加模块映射」,请求路径填
*.php,模块选FastCgiModule,填写正确的可执行文件路径,命名为PHP_via_FastCGI后确认。
- 点击「添加模块映射」,请求路径填
修正web.config的URL Rewrite规则
确保网站根目录的web.config中使用WordPress标准重写规则,内容如下:<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WordPress Rewrite" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll"> <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>注意:需确保IIS已安装URL Rewrite模块,若未安装需先完成模块部署。
调整网站默认文档优先级
打开IIS管理器中目标网站的「默认文档」,确认index.php已添加并移至列表顶部。若未添加,点击「添加」输入index.php后上移到第一位。验证FastCGI全局配置
进入IIS管理器服务器级别 → FastCGI设置,确认已添加对应PHP版本的php-cgi.exe路径。若配置异常,删除现有条目后重新添加。检查请求筛选规则
打开网站的「请求筛选」→ 文件扩展名,确认.php未被禁止。若被禁止,点击「允许文件扩展名」,添加.php并保存。
内容的提问来源于stack exchange,提问作者Akash Gupta
相关产品推荐
相关产品推荐

