http500内部服务器错误指的是:访问网站时,浏览器接受请求并对其进行处理,然后将请求的资源与HTTP标头一起发回,其中HTTP包括称为HTTP状态代码的内容,当状态代码为500时,说明服务器遇到意外情况,导致服务器无法履行请求。
具体内容如下:
当您访问网站时,您的浏览器会将请求发送到托管该网站的服务器。服务器接受此请求,对其进行处理,并将请求的资源(PHP,HTML,CSS等)与HTTP标头一起发回。HTTP还包括他们称之为HTTP状态代码的内容。状态代码是一种通知您有关请求状态的方法。它可能是200状态代码,表示“一切正常”或500状态代码,这意味着出现了问题。有很多不同类型的500状态错误代码(500,501,502,503,504等),都意味着不同的东西。在这种情况下,http500内部服务器错误指示表示服务器遇到意外情况,导致其无法履行请求。
例子:
今天遇到一个问题HTTP500内部服务器错误,我的解决思路是先恢复父项,不行再添加权限,这两步做完还是报错,我又查看了安全软件的日志和隔离文件但是也没有发现被隔离的文件。网站还是500报错,我又检查了数据库的配置文件没有问题,数据库所在的服务器正常运行。陷入了思考中,看了以前的备份也是正常的没有少文件。
最后问题在于我恢复父项的时候web.config这个文件里的数据是:<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<defaultDocument>
<files>
<clear />
<add value="index.php" />
<add value="index.asp" />
<add value="Default.htm" />
<add value="Default.asp" />
<add value="Default.aspx" />
<add value="index.aspx" />
<add value="default.php" />
<add value="index.html" />
<add value="index.htm" />
</files>
正常的web.config里面的数据应该是:<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<defaultDocument>
<files>
<clear />
<add value="index.php" />
<add value="index.asp" />
<add value="Default.htm" />
<add value="Default.asp" />
<add value="Default.aspx" />
<add value="index.aspx" />
<add value="default.php" />
<add value="index.html" />
<add value="index.htm" />
</files>
</defaultDocument>
<handlers>
<remove name="PHP-7.0-7i24.com" />
<remove name="PHP-5.6-7i24.com" />
<remove name="PHP-5.5-7i24.com" />
<remove name="PHP-5.4-7i24.com" />
<remove name="PHP-5.3-7i24.com" />
<remove name="PHP-5.2-7i24.com" />
<add name="PHP-5.2-7i24.com" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="c:\php\5.2\php-cgi.exe" resourceType="Either" />
</handlers>
<httpErrors errorMode="Detailed" />
</system.webServer>
</configuration>
注意检查500错误,其实不是权限问题就是web.config这个文件有问题。
这是一个PHP开发的网站程序。