wordpress在安装使用中出现404、403、500及502问题的分析与解决方法
脚本之家
前言
最近在使用WordPress的时候遇到了一些错误提示,相信大家在使用wordpress建立网站的时候,都会遇到一些问题,一般来说分为2种情况。
第一种情况是程序报错:程序报错一般会直接在网站顶部或者网站其他部分显示错误或者警告提示,如error:… 、Notice:….、 warning:….
这些是程序在运行中出现的问题,一般服务器没有屏蔽php错误的话就会出现这些提示,而一般为了安全性,服务器或者虚拟主机都会屏蔽错误,那么就会白屏,或者网页显示不全(在发生错误的地方会停止往下加载),这类问题需要从程序入手,比如插件、主题是否损坏,是否兼容最新版本,等等问题,此类问题需要联系网站软件程序提供商进行解决。
这类问题在此处不做主要讲解。
第二种情况是服务器的报错:服务器报错有专门的代码进行提示,如我们标题所说的这些提示,下面我们就来分析一下,出现这些提示的一般原因和应对方法。
常见的报错状态代码提示所表示的含义、以及一般解决方式,在下文我们将详细分析,话不多说了,来一起看看详细的介绍:
网站访问显示状态404(Not Found)
网站访问出现404时,是当前访问的url无法在服务器找到相关的资源,出现无法找到的情况显示的状态,就wordpress而言,404所出现会有如下一些状态。
1.网站首页能够打开,内页全部404状态
这种状态是由于wordpress默认是一款动态的程序,如果服务器没有做好伪静态而又选择了静态链接,如文章名链接、数字连接等形式,那么没有伪静态的重写将会显示404状态,因此如果遇到这种情况,一般来说我们做好服务器的伪静态就可以了,伪静态的处理有多种方式,每种WEB引擎(常见的:IIS/Apache/Nginx)处理都不一样,你需要自己处理好或者联系你的服务器商帮助你处理好。
2.网站包括首页全部404
如果访问首页都是404的话,那么你就要去查看下你的域名解析以及主机绑定是否出现问题,如果是虚拟主机,你需要查看下你所解析和绑定的主机是否是正确的,这种情况一般是解析到了另一台没有资料的虚拟主机上,进而显示404了。
如果你是使用的服务器,那么你需要看你所绑定的目录是否和你的wordpress网站目录一致。如果不一致,绑定到了错误的目录上面,也会造成404的情况。
3.网站前台正常,后台某些页面出现404
这种情况一般发生在IIS服务器上,比如说在wordpress后台点击文章,或者点击分类目录、标签等显示404,而其他的内容则正常的。
这情况一般是IIS的伪静态不正确造成的,你可以尝试将web.cofing恢复到初始的版本,也就是伪静态之前的版本,然后所有的选项均正常了,这就要求你的伪静态文件配置有问题,需要重新配置好,才能正确的显示。
网站访问状态显示403(Forbidden)
网站访问403状态时,表示你没有权限访问该资源,这种情况一般是2个问题造成的。
1.网站目录权限设为不可读
如果你的网站根目录设置的权限为不可读不可写,那么整个目录下的文件都是没有权限访问的,这需要你去更改好你的服务器目录的权限。
2.网站没有设置首页识别文件(默认首页)
wordpress是php程序,因此默认首页应该为index.php,如果你没有设置这个默认的首页文件,那么程序是无法是别的,某些服务器上会显示403,而某些会显示404,这个问题需要检查你的默认首页是否设置正确了。
网站访问状态显示502(bad gateway)
网站502,一般在wordpress访问中是进程错误,某个进程在运行中错误,造成进程停止工作而造成的,一般来说会有几种情况:
1.wordpress安装、安装完成后台部分页面显示502
这种问题一般是CentOS 6.x系统+PHP5.2+最新版的WordPress程序 组合出现的。一般来说我们不推荐php5.3以下的版本运行wordpress,wordpress目前推荐使用5.6以上版本,更加稳定。
解决方式也很简单,升级到php5.3以上版本或者将CentOS更换为其他系统 即刻解决。
2.网站安装正常,运行正常,但时不时出现502的状态
如果是这种情况的话,相对原因较为复杂,一般是服务器环境没有搭建好导致的,这种情况频发的话,建议全站进行备份,并重新搭建服务器环境解决。
网站访问状态显示500(Internal Server Error)
网站500错误,显示的是服务器内部错误,造成这个错误的原因有很多。
1.网站程序错误造成的500
这种情况一般是其他页面正常,访问某个特定的页面或者执行某个特定的操作造成的500,一些服务器不会讲php警告、错误和提示等信息直接显示出来,而是直接显示500错误,这样会给我们造成一定的困扰,但是如果是如上所说发生的情况,那么就是程序执行造成的错误。
如果你对php程序有所了解,那么你可以首先打开php的错误提示,在你的php配置文件php.in中找到display_errors ,将off改为on,保存即可打开,打开之后即可看到是哪一个程序出现了问题,
若还是没有发现问题,你可以打开wordpress的debug模式,在wordpress的配置文件wp-confing.php中找到define(‘WP_DEBUG’, false); 将其修改为define(‘WP_DEBUG’,true);即可打开debug模式,这样就能顺利的查找到造成错误的程序文件以及代码了。
2.php版本所致
如果你在使用较低的php版本,那么可能会出现500的情况,在进行其他操作之前,你可以将php版本升级到更高的版本(推荐5.6以上版本),再查看状态,
抑或你所安装的php版本过高,而程序为兼容,如php7
在php7中弃用了大量的函数,转而使用新的函数代替,如果你的程序为兼容php7,那么也会出现问题,这样就需要让程序更新兼容php7,或者降低服务器的php版本到5.6即可正常。
3.网站目录权限
网站目录权限的不正确也会造成500的情况发生,Windows系统的主机,文件夹和文件的权限都可以是777;但是Linux系统的主机,文件夹和文件的权限设置成777,这样是错误,访问也会出现500错误。
Linux主机正确的文件权限是:文件夹:755;文件:644。但是有特殊的情况,比如baidu的xml文件通常设置成777,这个是不影响网站正常运行的。
你也可以从网站目录的方面查找问题。
4.301转向造成的500
如果你对于301转向不太懂,而且使用的是服务器而非虚拟主机(一般虚拟主机的301都有选项可以设置,不会出错),在301转向文件中添加了不正确的代码,web.confing,.htaccess等文件中加入了不正确的代码,也会造成500的情况发生了。
所以出现500,你还可以朝着这个方向去检查。
总而言之,500错误的造成有很多种,需要耐心的一条条的检查。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。