iis7+php5.6配置404错误页面的问题

时间:2021-10-30 23:42:32

打开错误页,如图1

iis7+php5.6配置404错误页面的问题

图1

1.刚开始选择的是“在此网站上执行URL”,/404.html页面可以显示出来,但返回的状态是200,对seo不友好,这样生成的的web.config配置文件如下:

		<httpErrors errorMode="Custom">
<remove statusCode="500" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="500" prefixLanguageFilePath="" path="/errors/page_500.php" responseMode="ExecuteURL" />
<error statusCode="404" path="/404.html" responseMode="ExecuteURL" /></httpErrors>

网上搜索了一下,发现要想出现404还得选第一项,即"将静态文件中的内容插入错误响应中",但404文件不用指定路径,默认为根路径,直接写404.html即可,不用写成/404.html

改为

		<httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File">
<remove statusCode="500" subStatusCode="-1" />
<remove statusCode="404" />
<error statusCode="500" prefixLanguageFilePath="" path="/errors/page_500.php" responseMode="ExecuteURL" />
<error statusCode="404" path="404.html" /></httpErrors>

  

 

2.当找不到.html文件时可跳转,但当.php文件时提示“No input file specified.”错误,网上有的说是php.ini里的doc_root,有的说是修改cgi.force_redirect = 0,经过测试均不管用,最终在http://*.com/questions/12387791/no-input-file-specified-php-error-under-iis上找到解决方案,即修改“处理程序映射”/选择php fastcgi“/点"编辑"/点“请求限制”/勾上"仅当请求映射至以下内容时才调用处理程序"/选“文件或文件夹”,确定后会弹出提示“要为此可执行文件创建FastCGI应用程序吗?”,选“否”即可,不用重启iis。

如图2:

iis7+php5.6配置404错误页面的问题

图2