找回密码
 会员注册
查看: 891|回复: 0

Nginx二级目录站(子目录)伪静态设置

[复制链接]

1389

主题

5

回帖

496万

积分

管理员

积分
4962988
发表于 2023-3-11 22:15:48 | 显示全部楼层 |阅读模式
有时候,我们可能会在网站根目录下面再创建一个二级目录站,也就是子目录的站点,如果这们的话,我们就需要重新去给二级目录站(子目录)做伪静态了。具体操作方法如下:

为了更好的示例,这里以 WordPress 程序搭建二级目录站为测试。

一、LNMP:Nginx二级目录伪静态
1、只需要添加这个二级目录的伪静态就可以了,这里以LNMP环境的 nginx.conf 配置文件为例子;
只需要添加如下代码:"fujieace"请替换成你自己的二级网站目录就可以了。
location /fujieace/ {  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 (.*) /fujieace/index.php;  }  }
2、重启nginx;

注意:
LNMP的Nginx下面也有很多类似的伪静态配置文件,我们也可以直接 include 有引入。
例如:wordpress.conf、wp2.conf、dedecms.conf、discuz.conf 、ecshop.conf......等等,如下图:


二、宝塔面板:Nginx二级目录伪静态
注意:
如果你用的是宝塔面板,你用第一种上面的伪静态规则,是会报类似如下这样的错误:
nginx: [emerg] unknown directive "  index" in
/www/server/panel/vhost/rewrite/www.xxx.com.conf:7
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed
中文翻译
nginx:[emerg]未知指令“index”在
/www/server/panel/vhost/rewrite/www.xxx.com.conf:7
nginx:配置文件/www/server/nginx/conf/nginx.conf测试失败


如果你用的是宝塔面板,你的伪静态只需要直接选择“wp2"即可!
这里很多人或许会有疑问?宝塔伪静态wordpress与wp2的区别是什么?答案是:wordpress 是标准的伪静态,wp2 是代表的把 WordPress 装在子目录的伪静态。


rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;if (!-e $request_filename){        rewrite ^.+?(/wp-.*) $1 last;        rewrite ^.+?(/.*\.php)$ $1 last;        rewrite ^ /index.php last;}
三、Nginx try_files实现二级目录伪静态
当然,也可以用以下代码实现伪静态。至于 try_files 和 rewrite 哪个效率更高?目前不得而知,需要做进一步的了解。
location /fujieace/ {  index  index.php;  try_files $uri $uri/ /fujieace/index.php?$args;}
或者
可以直接采用 LNMP 程序下的配置文件:wp2.conf;
location /cmp/ {        try_files $uri $uri/ /cmp/index.php?$args;}# Add trailing slash to */wp-admin requests.rewrite /wp-admin$ $scheme://$host$uri/ permanent;
总结:
有一点大家需要注意,现在nginx配置分为 http 和 https两个地方,有时候很多人把 配置伪静态规则 放在的是 http server中的,结果 https server中却忘记了配置,恰好他的网站又是以https为主的,这样的话,会造成就算你重新加载了nginx配置后,伪静态规则却不会生效。

我的建议是:
只要你的网站支持HTTPS,建议大家每次配置伪静态规则一定要去 http server 和  https server两个地方都添加上伪静态规则。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-25 01:06 , Processed in 0.349493 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表