Nginx网站二级目录设置伪静态代码如何写?

laoyubiji 2024-07-11 阅读:281

20240711221452.png

最近在折腾我的另一个网站,在该网站目录中创建另一个网站,也就是二级目录。例如/a是我的一级目录网站,而我在/a中,创建了另一个/a/ab目录。创建一个新的网站容易,但在设置二级目录网站伪静态却碰到了难题,之前从未接触过,好在老友的指导与百度一下,算是第一次成功解决了这个问题。

我的一级目录网站是DZ论坛源码,服务器安装的宝塔控制面板,一键安装的Nginx环境。在一级目录中创建了二级目录安装了zblog源码,由于网站模板及插件的要求,必须设置zblog伪静态。之前从未设置过二级目录伪静态,无从下手。求教老友并在百度中找到了答案。

在Nginx服务器配置中,我们需要编写特定的location规则来处理Z-Blog二级目录下的动态链接转为符合SEO标准的静态路径格式。下面将为您展示如何在Nginx配置文件中添加针对Z-Blog二级目录的伪静态规则代码,以便正确解析和重写动态URL为静态形式。

# 子目录规则要排在前边;(这里就是二级目录伪静态规则)

location /ab/ {

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 (.*) /ab/index.php;

}

}

# 根目录规则(这里是一级目录)

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;

}

}

上述规则中二级目录伪静态标注红色的/ab,更改为你自己的二级目录名称,我这里的二级目录网站是zblog,所以我用的是zblog伪静态规则,如果你是dz或其它源码请参考写法。特别注意的是,二级目录的伪静态规则,一定要放在主站伪静态规则的前面。

如果你想搭建多个二级目录站点,方法也是同理,继续往上追加即可。


评论(0)

二维码