表白驿站是基于LNMP环境+WordPress搭建的,所以这两年来一直有一个问题让我懒得去解决,每次登陆后台点击左边的导航菜单,都会造成404,也就是链接上少了wp-admin/,每次都需要手动加上去,这个问题其实是Nginx伪静态规则没做好造成的,
我之前的规则:
location / {
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;
}
}
这个规则是不完整的,实际上漏了一条:
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
完整的规则如下:
location / {
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;
}
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
完成之后重启nginx就好了。