一般情况下,我们会将网站程序安装在站点根目录,这样我们使用伪静态规则的时候直接调用配置文件默认的就可以实现。但是,我们也有一些时候需要将网站程序安装到二级目录(根目录下面的独立文件夹中),这样可以实现二级目录/子目录独立频道站点的效果。
其中老左有在早期分享过"解决LNMP(Nginx)二级目录wordpress网站伪静态问题"的文章,今天有遇到需要在子目录安装Typecho程序的需要。这里我们就将两种可能的Typecho Nginx系统下的伪静态规则分享如下。
第一、根目录Typecho 规则
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;
}
}
第二、子目录伪静态规则
location /子目录文件夹/ {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php last;
}
if (!-f $request_filename){
rewrite (.*) /子目录文件夹/index.php last;
}
}
如果我们是在同一个站点有2个TYPEHO或者其他程序,谁在子目录中就将子目录的规则丢进配置文件中,注意需要修改子目录文件夹名称。
最后,重启Nginx检查是否报错,如果不报错应该是没有问题的。