今天早上打开网站发现了一个悲剧,详情如下图,生平第一次遇到这样的情况,提示rewrite.php第326行出错。从这个文件的命名看,我猜应该是跟伪静态设置有关。
然后我对这个问题产生的原因进行了猜想:
1.前天曾经让人帮我安装了一个论坛,他可能修改过这个文件。
但他安装好后,网站的一切都是正常的,而且我也修改了服务器密码,后台登陆密码。并且,在头天晚上11点网站都是正常的。
2.我修改过后台主题的广告代码,安装了一个网站地图插件。
但这两个操作很难跟这个问题之间联系起来,详情请见防止网站出错,wordpress安装插件需要谨慎。而且我在执行这两个操作后,网站打开仍然是正常的。
接着,我开始尝试着解决这个问题。
1.既然提示rewrite.php,那么把这个文件放到DW里改就行了。虽然公司的电脑连接不上FTP,但聪明的我进入服务器下载百度网盘,然后将这个文件找到上传到我的网盘,再在本地上下载。其实可以在服务器直接测试,但很遗憾,CPU是单核的,运行确实缓慢。
当我把rewrite.php文件放进DW之后,神奇的一幕出现了,DW并没有报错,然后我的希望落空。代码的确可能导致网站错误,详情请见WordPress切忌随意添加代码 ,但这次不是。
2.接着,我联系那位仁兄,让他告诉我他执行了哪些操作,这时他还未回复。于是我用了之前的方法,将我之前存储的网站源码找到,然后找出rewrite.php文件并替换现在的,这样就能保证rewrite.php文件的正确。但遗憾的是,替换之后仍然显示错误。
3.我开始追究CDN的文件,马上将域名解析改回来,ping测试修改成功后,发现问题依然存在。
有时候CDN也是网站出错的原因,详情请见WordPress教程,网站出错没找到原因,关掉CDN试试。
4.最后开始求助于西部数码的工程师,对方的回复是程序报错,跟伪静态无关,然后给了我一个链接。但毕竟是上班时间,我不能花太久的时间去研究这个教程。这时那位仁兄回复了,他说他在根目录添加了后缀为ini的文件,用来实现伪静态的,但这个肯定跟rewrite.php出错的问题没有关系。然后我找到这个文件并且删除,果然还是没有解决问题。
期间我也删除过rewrite.php,就想知道这是何方神圣,出了错误害我网站都挂掉了,删除之后网站报错的更多的,西部数码的回复说这是wordpress的核心文件。
5.同时我也没忘记重启服务器,之前遇到网站死活打不开的情况,重启下就好了,但这次却不行。
6.最后实在没辙了,我动用了终极大法啊,没什么问题是重装程序不能解决的。待我备份了一些核心数据后,删除了根目录下的所有文件,重新安装新的程序。前两个页面是正常进行的,待我填好了数据库用户名密码,开始正式安装时,出现了无法连接的情况。待我再次刷新,苍天啊,大地啊,该死的rewrite.php第326行出错又在网页上显示了。
7.在把我折磨的没了脾气时,我认输了,我确实无法理解在我替换掉所有文件之后,这个问题是凭什么还能出现的。我乖乖的充值130元,央求西部数码的工程师帮我弄好,我知道帮忙重新安装程序的费用是100元。
稍后,我微信上收到了回复,打开网站一看,可爱的首页又回来了,但出现下面的情况,文章页打不来。不过也很庆幸了,这是之前出现过的伪静态错误,已经算是小问题了,虽然我还是不会弄。
最后问题是解决了,但因为保留的是1月13日的数据,所以有几天的数据是丢失的,比如这两天发的文章,还有我辛辛苦苦安装的论坛。但庆幸的是,西部数码还是很良心的,可能这次是通过其他路径解决,所以只收了我30元费用,还以为要花130元呢。
这段时间不再去执行什么高危的操作了,有时候出个小小的问题网站就挂了。你也知道,百度这家伙想要讨好他,需要很长一段时间都表现好。但想要他抛弃你,你网站来个一两天打不开试试,瞬间杀掉好多页面。好不容易我才把网站数据提高呢。