Skip to content

Nginx+WordPress固定链接404解决方法

我根据 seoimo 和 jwcyber 的教程在vps上搭建了 wordpress,后者的教程使用了 Nginx 这个服务器。在搭建完博客之后,我在后台把固定链接修改为 文章名 imzm.im/post-name ,却在访问博客内任何链接的时候遇到了404,下方写着 Nginx。我随着这个线索查询了google,大部分的解决方案都是在 nginx.conf 添加一段代码:

location / {

root /www/data/xxx;

index  index.php index.html index.htm;

if (-f $request_filename/index.html){

rewrite (.*) $1/index.html break;

}

if (-f $request_filename/index.php){

rewrite (.*) $1/index.php;

}

if (!-f $request_filename){

rewrite (.*) /index.php;

}

我用 find / -name ‘nginx.conf’ 查找了所有的 nginx.conf 并插入了如上代码,重启lnmp/nginx,无法解决上述问题。这问题让我头疼了两天,差一点打算换成Apache,最后我找到了这篇文章,一个非常简单的方法就能解决了:

  1. /root/lnmp1.4/conf/rewrite/wordpress.conf 这个rewrite文件可以让wp重定向,把它复制到 /usr/local/nginx/conf 这个文件夹;
  2. 然后在 /usr/local/nginx/conf/vhost/domainname 下的 domain.conf 中添加 include wordpress.conf; 这条语句;
  3. 重启nginx或lnmp,便可以使用wordpress的固定链接了。

Nginx和Apache各有各的好处,前者轻量级,在服务器内存不充裕的时候使用Nginx能减轻压力;而后者赫赫有名,强大的rewrite、稳定且模块更多是Apache的优点。如果从一个流量很小的小博客的角度来看的话,其实Apache会更加适合。但是尝鲜也何尝不有趣呢?

13 Comments

  1. 互联网时代,Google是你最好的老师。
    +10086个赞!

    • zm zm

      谢谢大神!小站能建立起来多亏了你的好文章

      • 我之前也看了SEOIMO的文章,后面准备换vps。

    • 能有一篇关于wordpress优化的文章更好,呵呵。

      • zm zm

        目前在用的是哪个vps? Seoimo的文章里有提到关于wordpress优化的技巧,可以去看看

      • 接下来会写写关于wordpress框架内的优化加速(vps建站那篇是基于服务器的),包括数据减少查询,静态缓存,以及多文字多图片的长文优化,实现文章再多文字再多图片也能轻松实现秒开,基本可以告别cdn。

        • zm zm

          期待!如果能写下nginx和apache下的区别就更好了。

    • zm zm

      这个vps是vultr的,洛杉矶机房是5刀每个月,日本是2.5刀,不过数量很少。你可以去参考一下

  2. nginx很不错,在128M内存的服务器依然可以跑起来网站,而apache。。。

  3. Lucifer Lucifer

    折腾了3小时,直到看到你的文章,感谢,ctrl+D了

    • zm zm

      很荣幸我的拙文能够帮到你

  4. 我从虚拟主机转到VPS也遇到过这个问题,折腾了半天,后来不经意发现我用的VPS管理面板里有个伪静态选项,选择wordpress就自动写好了配置,完事儿。

发表评论

电子邮件地址不会被公开。 必填项已用*标注