The 404.3 error appears because PHP has not been enabled for your website. IIS does not know how to process .php files without the proper handler mapping configured. The fix is to enable PHP in the control panel using the Handler Mappings tab for your website. After doing so, the error will disappear and your PHP-based website will load correctly.
This issue surfaces whenever a PHP application is deployed without the matching runtime handler registered at the site level. It is not a missing-file problem; the scripts exist on disk but the web server has no instructions for execution. On Windows hosting, IIS treats PHP as an add-on that must be explicitly mapped per site or application. Correcting the mapping registers the PHP processor so incoming requests for *.php are handed off to php-cgi.exe or the equivalent FastCGI module.
#Understanding the 404.3 Error
HTTP Error 404.3 - Not Found
The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.
The message explicitly calls out an extension configuration gap rather than a 404 from an absent resource. IIS checked its handler table, found no entry for the .php extension on this particular site, and returned 404.3 to avoid serving the raw PHP source or failing silently. This behavior protects servers but requires administrators to declare how dynamic files should be interpreted.
#Root Cause: Missing PHP Handler in IIS
PHP is an interpreted language that requires a runtime environment. IIS ships without a built-in PHP processor, so the executable must be registered as a handler mapping. In shared hosting environments the mapping can be toggled per site to let customers select PHP versions independently or disable the interpreter on pure .NET applications. When the mapping is absent or disabled, every request for a PHP file triggers the 404.3 because no module claims responsibility for that extension. This differs from Apache where mod_php is usually enabled globally; IIS mappings are more granular and therefore more prone to per-site misconfiguration.
#Enabling PHP via Handler Mappings
Log in to the control panel, select the affected website, and open the Handler Mappings tab. Locate the entry for PHP (it may be labeled PHP, PHP 8.x, or FastCGI-PHP). If the handler is present but disabled, enable it. If no handler exists, use the add or enable-PHP option to create a mapping that associates *.php with the server-installed PHP executable. Save the changes. The update is pushed to IIS within seconds and requires no server restart.
- Select the exact domain or application pool experiencing the error
- Navigate directly to the Handler Mappings tab
- Enable the PHP handler or add a new mapping for path *.php
- Confirm the mapping points to a valid PHP installation on the server
After the change, clear your browser cache or use an incognito window and reload the page. The site should now execute the PHP scripts instead of returning 404.3.
#Troubleshooting When the Error Persists
Double-check that the handler change was applied to the correct site, especially when multiple bindings or sub-applications exist. Examine any custom web.config files for <handlers> sections that might remove or restrict the PHP entry; inherited settings can override control-panel choices. Verify that the requested URLs truly end in .php and that file permissions allow the application pool identity to read the scripts. If a different error appears after enabling the handler, the PHP runtime is now active and the new problem lies inside your code, missing extensions, or php.ini settings.
Once the PHP handler is enabled through the control panel, the 404.3 error is eliminated and your site functions as expected. Review related articles on selecting PHP versions and adjusting application pool settings for additional performance tuning.
Comments
No comments yet