NginX环境下配置WordPress固定链接后报500错误的解决

首先Po上前辈的教程:在Nginx上为WordPress固定链接配置Rewrite

我全程按照上述教程完成的配置。 注意,切记在对配置调整完成后使用 sudo service nginx restart 命令对NginX服务进行重启。


WordPress搭建好之后我一直对默认的文章地址格式不太满意,但考虑到刚开始接触WP,很多基础功能都还不了解,所以就没去管它。  经过这几天的熟悉,今天尝试对这项功能进行设置,绕了非常多的弯路。作为一个菜鸟,简单分享一下,希望后来的同学避免掉坑。

首先,我们能Google到的很多解决方案都是对.htaccess文件的修改和调整。我全盘find -name ‘.htaccess’ -ls,找到了一个角落里的同名文件。按照教程对它进行修改,然后什么都没有发生。 又一通搜索之后才知道这是针对Apache环境的解决方案,根本不适用NginX…  跪。

添加NginX关键字继续Google,又有了一些新发现。

在此说明一下,我的NginX软件包是通过 apt-get 的形式直接安装的,应该具有普适性,不同于部分教程里有大神提到的编译安装的形式。采用编译安装的同学,我不确定是否仍适用上述教程。

从我Google到的文章来看,很多人都把问题导向了对 nginx.conf 里 server{} 语句的修改,我按照这种思路找到了我的 nginx.conf 文件,查看发现根本就不存在 server{} 字段,只有events{} http{} mail{}这三个字段,查看同目录下的conf.d文件夹为空文件夹。  晕。

尝试touch了一个server.conf,把相关的代码粘进去,保存,重启。然后网站就无法访问了。于是回滚操作,继续Google。

查看了大概几十篇文章,都集中在对 nginx.conf 本身的修改。只有一篇Blog提到了对 /nginx/sites-enabled/default 文件的修改,但我根据博主给出的代码调整了我的default文件后并没有效果,点击首页的文章标题仍然返回500错误。  对此,我并不能确定是因为博主给出的代码本身有问题,还是因为我做出调整后没有重启NginX服务导致调整未能生效。

最后终于找到了本文顶部提到的修改教程。  作为一个小白,解决这个问题最为困扰的就是大部分Blog里都没有提到配置文件的具体路径是什么。很多Blog确实提到了要修改location /{} 这段语句,但并没有指出具体是哪个配置文件。  直到我按照顶部的教程修改了 /etc/nginx/sites-enabled/default 文件,并重启NginX服务才最终解决这个问题。

因此,从我的角度来看,对小白来说主要应当注意两个问题:

  1. 去哪里调整location/{}语句
  2. 调整完毕后重启NginX服务

我自己Google到的教程几乎都是提了第一点不提第二点,又或者提了第二点不提第一点。

以上是我作为初学者的一点提示,希望能对后来的同学有帮助。