今天遇到一个非常诡异的问题,昨晚刚折腾好的go外链跳转失效了,昨晚改完之后测试都没有问题的,今天点击发现跳转404失败。对无码男来说最烦的就是这种,没办法,从头一步步检查。首先从go.php文件入手,这个问题感觉不大,因为显示外链地址是成功的,只是跳转不出去,本着“宁杀错不放过”的精神,还是按部就班的从头检查,发现第2步Apache伪静态出现了问题,.htaccess文件自动还原了。于是又编辑重新将代码拷入,保存,over!
整个世界清净了,一切正常了,但是我的心乱了,搞不懂是什么导致了.htaccess文件内容的自动还原。遇到这种问题最好的办法就是问度娘,虽然度娘不靠谱,还真找到了出现一样情况的,但是多数写的是说如果更改了固定连接,wordpress会自动修改.htaccess文件中# BEGIN WordPress和# END WordPress的内容,但是我并没有修改过固定连接,我只是无意打开过设置里面的固定链接。继续求证,进后台点开设置选项里面的固定链接,不进行任何操作,返回网站点击go外链地址,出现相同的问题了。
到了这里应该可以下结论了:只要你点击了设置——固定链接,不管你有没有修改什么,也不管你有没有保存设置,只要点击了“固定连接”,.htaccess文件 中# BEGIN WordPress和# END WordPress之间的内容就会被更改,自动还原成默认值。非常蛋疼的设计,不知道搞成这样有什么用处,或者说这是一个bug么?
.htaccess配置文件的作用还是非常重要,URL规范化,301重定向,防盗链等等,其实对于文件默默还原的问题,网上搜索的结果并不是太多,而且有好多都是因为修改固定链接造成的,但实际上是不管有没有修改,点开就会中招。为了防止以后再发生这种问题,这时候的我突发奇想,能不能把自己定义的内容凶残得放到# BEGIN WordPress和# END WordPress的外部呢,这里只说结果,是可以的,但是这样放对网站到底有没有影响就不得而知了,因为我是小白,光脚不怕穿鞋的。。。只要外链go跳转是正常的就好了。
0