pbootcms生成静态怎么弄(二级目录伪静态编写教程)

最近很少更新文章了,主要是懒了。标题一写,废话不说,直奔主题!

先来说一下背景,用Pbootcms做了个双语言的网站,架构是一个语言在根目录,另一个语言是在二级子目录,两个后台分开管理。为啥不用官方的多语言建站?因为SEO,还因为这样有个好处,数据库是两个,互不影响,一个传完数据直接复制一套改改模板就不用再添加数据了,省事!但是在做伪静态的时候,遇到问题了,子目录的伪静态不生效。按照官方的教程(因为用的宝塔环境,就以Nginx环境为例)。

pbootcms生成静态-1
注意:Nginx中如果站点部署在二级目录,请对应修改重写规则, 如:二级目录为test则:rewrite ^/test/(.*)$ /test/index.php?p=$1 last;

按照这个思路,只有一个站在二级目录的话,这样改没问题,但是根目录也是pbootcms,也需要伪静态设置怎么办?

一开始我是这样设置的(一顿操作猛如虎,这样设置像二百五):

location / {

if (!-e $request_filename){

rewrite ^/(.*)$ /index.php?p=$1 last;

rewrite ^/test/(.*)$ /test/index.php?p=$1 last;

}

}

设置完发现子目录还是不生效,去掉根目录的写法,子目录生效了,但是根目录的伪静态又失效了,网上找了会也没找到个教程,但是搜索“if (!-e $request_filename)”时,却有些别的伪静态的写法启发了我,于是照虎画猫:

location / {

if (!-e $request_filename){

rewrite ^/(.*)$ /index.php?p=$1 last;

}

}

location /test/ {

if (!-e $request_filename){

rewrite ^/test/(.*)$ /test/index.php?p=$1 last;

}

}

终于测试OK了!希望本文能帮助到遇到同类问题的朋友们。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2466060800@qq.com 举报,一经查实,本站将立刻删除。