WordPress二级目录站(子目录)伪静态设置方法

很多人可能搭建wordpress网站用不到二级目录对吗?绝大多数人做网站都是直接放在根目录下的。但是,今天我的一个朋友,想搞一个wordpress二级目录子站,有点类似于二级目录站群,只不过它是手工搭建的,不是软件批量生成的。这样的话,他几个同行类型的企业站就可以融合为一个整体。

 

深入了解WordPress的人都知道,WordPress是自带站群功能的,可以做WordPress目录站群,也可以做WordPress二级域名站群

 

今天我的朋友用“LNMP搞了一个Wordpress目录站群,结果他发现,当他做了伪静态和设置了“固定链接”后,网站很多链接打开都是404状态了,最后找到了我;

其实,不管你用wordpress是不是做目录站群?只要是属于wordpress二级目录站这种类型的,解决方法都是一样的,也就是我们今天所分享的:

 

一、LNMP:WordPress二级目录站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;

 

二、宝塔面板:WordPress二级目录站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测试失败

nginx: [emerg] unknown directive "  index" in/www/server/panel/vhost/rewrite/www.xxx.com.conf:7nginx: configuration file /www/server/nginx/conf/nginx.conf test failed

 

如果你用的是宝塔面板,你的伪静态只需要直接选择“wp2"即可!

这里很多人或许会有疑问?宝塔伪静态wordpress与wp2的区别是什么?答案是:wordpress 是标准的伪静态,wp2 是代表的把 WordPress 装在子目录的伪静态。

宝塔wordpress二级目录伪静态wp2

 

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两个地方都添加上伪静态规则。

    A+
发布日期:2019年08月08日 21:56:30  所属分类:WordPress
最后更新时间:2020-04-28 10:32:09
评分: (3 票;平均数5.00 ;最高评分 5 ;用户总数3;总得分 15;百分比100.00)
付杰
SEO顾问 单站最低999元 整站全方位优化
SEO顾问 单站最低999元 整站全方位优化
  • ¥ 999元
  • 市场价:4999元
wp dz 帝国 dede phpcms等快速建站服务
wp dz 帝国 dede phpcms等快速建站服务
  • ¥ 999元
  • 市场价:4999元
wordpress站群服务 泛解析二级域名 二级目录
wordpress站群服务 泛解析二级域名 二级目录
  • ¥ 1999.9元
  • 市场价:8999元
免费SSL证书 HTTPS申请 安装 配置 支持通配符*
免费SSL证书 HTTPS申请 安装 配置 支持通配符*
  • ¥ 1999.9元
  • 市场价:20000元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:6   其中:访客  0   博主  0

  1. 头像 南充教育在线 1

    nginx: [emerg] unknown directive “  index” in /www/server/panel/vhost/rewrite/nceol.cn_ceshi.conf:2
    nginx: configuration file /www/server/nginx/conf/nginx.conf test failed

    提交的适合显示跟上面说的提示是一样的。

    • 付杰 付杰

      @南充教育在线 我远程试过了,你的网站就算在宝塔面板伪静态设置为wp2一样是没有效果,有点不理解了。

  2. 头像 南充教育在线 1

    使用宝塔面板测试出现404

    • 付杰 付杰

      @南充教育在线 文章有说宝塔设置方法的,你出现404,不知道是哪里的问题?没有详细的东西,你看下是不是wordpress后台固定链接设置的问题?