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,最后我找到了这篇文章,一个非常简单的方法就能解决了:
- /root/lnmp1.4/conf/rewrite/wordpress.conf 这个rewrite文件可以让wp重定向,把它复制到 /usr/local/nginx/conf 这个文件夹;
- 然后在 /usr/local/nginx/conf/vhost/domainname 下的 domain.conf 中添加 include wordpress.conf; 这条语句;
- 重启nginx或lnmp,便可以使用wordpress的固定链接了。
Nginx和Apache各有各的好处,前者轻量级,在服务器内存不充裕的时候使用Nginx能减轻压力;而后者赫赫有名,强大的rewrite、稳定且模块更多是Apache的优点。如果从一个流量很小的小博客的角度来看的话,其实Apache会更加适合。但是尝鲜也何尝不有趣呢?
感谢,看到自己的pingback,但是我的小站最近被自己折腾坏了,数据库没法恢复所以404了。
补充一丢丢,如果开了SSL的话,include wordpress.conf 这行也要加在有SSL配置的那个block里(就是listen 443 …开头的那个block)。
好文章!
有用,谢谢。
看了数篇文章,只有这篇简洁明快的解决了我的问题,感谢。
我的荣幸。
我从虚拟主机转到VPS也遇到过这个问题,折腾了半天,后来不经意发现我用的VPS管理面板里有个伪静态选项,选择wordpress就自动写好了配置,完事儿。
折腾了3小时,直到看到你的文章,感谢,ctrl+D了
很荣幸我的拙文能够帮到你
nginx很不错,在128M内存的服务器依然可以跑起来网站,而apache。。。
VPS 什么价格 说的我有点心动了
这个vps是vultr的,洛杉矶机房是5刀每个月,日本是2.5刀,不过数量很少。你可以去参考一下
互联网时代,Google是你最好的老师。
+10086个赞!
谢谢大神!小站能建立起来多亏了你的好文章
我之前也看了SEOIMO的文章,后面准备换vps。
能有一篇关于wordpress优化的文章更好,呵呵。
目前在用的是哪个vps? Seoimo的文章里有提到关于wordpress优化的技巧,可以去看看
接下来会写写关于wordpress框架内的优化加速(vps建站那篇是基于服务器的),包括数据减少查询,静态缓存,以及多文字多图片的长文优化,实现文章再多文字再多图片也能轻松实现秒开,基本可以告别cdn。
期待!如果能写下nginx和apache下的区别就更好了。