服务器引擎从Apache换成Nginx后,Wordpress的rewrite一直是用配置404跳转到index.php的方式实现的。这个最近才发觉,因为www.evoleo.com大部分是原创内容,竟然被百度拔毛的只剩首页了!排除了其他可能后才发觉问题出在404上。所有终于找到了正确的rewrite代码:

location / {
index index.html index.php;
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;
}
}

幸亏发觉的早,不然博客首页都有可能被拔毛。
这也是另外一个wordpress做的博客一直只收录首页的罪魁祸首。两个站的虚拟主机配置都改过了,等百度重新收录吧。