经过@admin与12级同学王凯民一起验证,此方法有效
解决wordpress在Nginx下出现404错误的问题,应该是伪静态rewrite的问题,这个方法记得最后重启Nginx
Linux的命令如下:etc/init.d/nginx restart
原帖地址:http://www.ldrcg.com/archives/1379.html

=====
wordpress在nginx服务器中修改固定链接出现404错误的解决方法
发表于 2011 年 03 月 23 日 清请静情

nginx

前面我写过一篇关于wordpress在apache环境下设置固定链接时出现404错误的文章,现在再次添加一篇关于wordpress在nginx环境下设置固定链接出现404错误的文章.
由于我一直都是在用虚拟空间,近期升级到了VPS(这样自己可以玩很多想玩的东西,比如服务器环境的搭建之类的),web服务器现在自然是首选nginx咯,它的性能大家应该是有目共睹的.初次使用nginx,就遇到了wordpress无法修改固定链接后出现404错误的问题,所以我就在网上查阅了很多资料,从而出来了这篇文章(这是实践过的哦)
在Nginx服务器下如何设置才能使永久链接生效而不致报404页面找不到的错误,其实也非常简单,在Nginx的配置文件中,修改nginx.conf文件(如果你的每个域名的nginx配置文件是分开的,那你要修改你要设置固定链接(静态链接)域名对应的nginx配置文件了,比如ldrcg.com域名对应的nginx配置文件为ldrcg.com.conf):
注意到这样的一些行数:
server
{
listen?????? 80;
server_name www.ldrcg.com;
index index.html index.htm index.php;
root /home/www/ldrcg.com;
//在此插入下面所说的几行
location ~ .*\.(php|php5)?$
{
fastcgi_pass? unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}

加入如下几行即可:
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;
}
加入的代码分别对index.html/index.php做了判断,如果访问的请求为index.html和index.php则返回index.html和index.php,如果不是index.html、index.php的请求,则统一返回index.php,在这个地方你也可以加入其它你希望的index后缀文件,比如index.jsp、index.asp。


共收到 2 条回复
wkmatt · #2 · 2013-2-1 23:29:01  回复 支持 反对
呵呵,是的,挺有成就感的啊!互相学习的啦!

点评

嗯,互相学习,哈哈~ 共同进步~  详情 回复 发表于 2013-2-3 02:07
admin · #3 · 2013-2-3 02:07:32  回复 支持 反对
wkmatt 发表于 2013-2-1 23:29
呵呵,是的,挺有成就感的啊!互相学习的啦!

嗯,互相学习,哈哈~
共同进步~
回帖
B Color Image Link Quote Code Smilies
Command + Enter
快速回复 返回顶部 返回列表