Nginx下由于伪静态导致的WordPress后台404错误

网站程序重装后,一度以为不用继续治疗了,没想到才好了几天,这货又犯病了,跟之前的状态差不多,只是以前连后台都无法进入,现在则是能够进入后台首页了,不过也仅仅止于此。在网上搜索了一番之后,发现这个问题很多人都碰到过,应该是nginx下伪静态的问题,我之前大半年里边没碰到这问题是因为我一开始就自己添加了一些伪静态规则,很长时间以来都没有问题,估计是后来WP的哪个更新更改了之前的一些设定,导致了自定义添加的那些伪静态规则反而成为了导致网站后台空白的元凶。

对于后台的404错误,仔细观察就能看出来这是固定链接的问题,后台所有链接中的“wp-admin/”都被去掉了,自然无法访问到那些页面,然后就404 not found了。在服务器的伪静态规则中最后添加一行代码就好,对于LNMP环境来说,具体位置是在/usr/local/nginx/conf/wordpress.conf

添加之后重启nginx就好。 

Nginx下WordPress 500错误的艰辛

自从把VPS环境换到LNMP下之后就经常出现500错误的情况,但是同一服务器上其他网站都没有什么问题,恐怕真的追究起来还是WP的后台有些什么问题,平时500错误也就是进不了后台,重启一下nginx就好了,但是上次升级了两个插件之后却发现网站后台完全无法打开了,首页文章打开正常,但是也仅仅是那些缓存的文章。所以有些怀疑故障原因是不是WP Super Cache的预缓存功能,因为该插件的自动垃圾清理功能只能清理浏览生成的缓存而不能清理预缓存生成的缓存,预缓存的文件越来越多,也有可能导致错误。

Continue reading →

LuManager切换至Tengine后Wordpress找不到页面的解决办法

好吧,今天是新年里面正式回归网站更新的第一天,服务器软件什么的也好久没有更新了,手生了,各种折腾。把网站风格也改了一下,去掉了顶部图片和背景图片,虽然这俩对速度并没有啥太大的影响,可是放那里也是上百K的文件,而且和新背景颜色严重不搭。

看到LuManager开始周期性更新了,就连升了几级。同时觉得Wordpress刷新起来好慢,应该是过多的CSS和JS请求引起的,于是就从nginx切换到了淘宝家的开源Web服务器Tengine,据说这货能够把多个请求合并为一个,从现在的情况来看,确实这样,网站快了不止一倍,以往要十几二十秒才能打开首页,现在基本上都在7秒之内了,这也断绝了我更换服务器的打算,因为同服务器的其他网站速度一直不错,基本上没出问题。

好吧,说说囧的吧,升级好LuManager之后,就切换到了Tengine,结果却发现显示无法找到页面,而且只有WP出现了这个问题,同服的Typecho和discuz都没啥问题,好吧,就自己各种试,都没有成功,切换回nginx也没啥用,还一度出现了502错误。借助万能的谷歌大神,发现是PHP内存超出了,把内存限制提高之后,却发现依然不能显示文章,没办法,谷歌上的答案大都没用,最后只能到LuManager的官方论坛里面去看帖子。终于给我看到一个差不多的问题,最后发现原来是新版的一个bug,升级之后切换web服务器会导致伪静态规则失效,必须重新去选择一下伪静态规则。 Continue reading →

LuManager更新nginx等组件

    一叶的几个站都是建在VPS上的,由于在技术方面太白了,基本上没有什么linux和服务器的技术基础,所以采用了一套傻瓜式的面板:LuManager,他直接集成了LANMP包,完全的自动安装,我们只要按照官网给出的教程直接在ssh客户端上输入下载和安装Lumanager的命令,接下来的事情基本上不用操心了,LuManager能够替你做好很多事情。大到服务器优化,小到伪静态,一键301重定向,用虚拟主机和不带面板的VPS时需要上网找教程的大部分问题,LuManager都内置了解决方案,所以有时候你会觉得它的有些功能稍显鸡肋。

    但是不可否认,LuManager也有它致命的缺点:臃肿,小众,以及社区活跃度不足。LuManager貌似是洞哥独立开发出来的,所以很多技术性的问题只有他资金能够搞清楚,自己的路社区的大部分问题也只好靠他来解决了。因此,很多基础性的问题都没有人回答,因为用VPS和独立服务器的人往往有一些基础了,这样的问题难不倒他们,而且很多技术帝都有一种高高在上的优越感,对于小白们非常不屑,我就因为几个问题困扰了好久。 Continue reading →

nginx下Wordpress和Typecho修改固定链接后301重定向

    上一篇文章写到了我遇到的一些重定向问题,就是在重设固定链接之后,发现旧的链接都变成死链了,这样对自己的网站不好,对于搜索引擎的收录更加不好,特别是别人通过搜索进来时却显示个not found,特失败。在摸索两天之后,找到了两种解决办法,可供参考。

非插件:

    第一种,这种问题肯定首先考虑代码而不是插件,由于本人用的web服务器是nginx,所以也只写nginx下的解决办法,至于apache,网上的办法应该是海量的,不存在找不到办法的问题。这两天看了很多nginx重定向写法的文章,发现很多人都是模仿别人的,所以对于规则写法的语法并没有什么研究,我上次也是试图模仿别人的写法,结果自己怎么写都不行,知道今天看了一篇技术文,参考了一下nginx的一些语法规则,才找到正确的规则。

    nginx语法参考(感谢博主):nginx rewrite规则和参考 | haohtml’s blog

    接下来用两个我自己的例子,一个是wordpress的,一个是typecho的,先写我自己之前的错误写法:

更正之后的正确写法:

     Continue reading →