最新公告
  • 欢迎您光临源码库,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入
  • 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测试失败

     

    WordPress二级目录站(子目录)伪静态设置方法插图源码资源库

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

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

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

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

    源码资源库 » WordPress二级目录站(子目录)伪静态设置方法