zblogphp目录建站怎么做伪静态

admin2021-12-08297

情况:

1、原本有一个主站,用的是zblogphp程序。

2、主站服务器用的是宝塔面板,Nginx环境。

需求:

现在要用主站的一个目录来建一个新站,这个新站的程序也用zblogphp。

问题:

这时候这个新的站中站打开伪静态后,就会提示找不到页面。因为我们此时并没有设置站中站的伪静态规则。

解决方法:

1、新的站中站一样开启伪静态,修改好你喜欢的规则。

2、找到主站在宝塔中的伪静态设置界面。

原本主站的设置规则是这样的

  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;
  }

现在我们在这个下面继续追加添加站中站的规则

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 (.*) /bbs/index.php;  //bbs为站中站所用的目录
}

这时候还不行,我们需要把主站和站中站的规则用location分别包括起来,最终规则如下

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;
  }
}
location /bbs/ {
  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 (.*) /bbs/index.php;
  }
}

这样站中站的伪静态规则就完成了,可以看一下效果了。

网友评论