WordPress中开启多站点支持及Nginx的重写规则配置_nginx

在Wordpress3.0及以上版本可以直接使用多站点,它可以:

1、只安装一个Wordpress程序即可创建多个wordpress站点,可以是子域名也可以是子目录。

2、可以有独立的博客后台,独立的博客地址。

3、管理员可设置开放哪些主题给站点使用。

4、管理员可配置插件给每个站点使用。

5、多个站点之间共用“用户数据库表”,也就是表 wp_usermeta 和 wp_users,其他的为独立数据库表。

WordPress多站点的配置方法:

1、首先,备份网站的数据库,以防出现意外时恢复(一般可忽略)。

2、打开WordPress的根目录下的wp-config.php文件,在
require_once(ABSPATH . 'wp-settings.php');
前面加上以下代码:

define('WP_ALLOW_MULTISITE',true);

3、进入WordPress后台,”工具”-> 点击”配置网络”

ps:如果您要使用二级域名的形式,可以到“设置”->“常规”里面,把站点地址(URL)的www.去掉。

4、点击安装后,按照提示做好相关的配置

5、配置好,再次进入后台,在头部将出现“我的站点”->“管理网络”的选项菜单,接下来您可以管理或者创建站点,也可以开启主题或者插件给其他站点使用。

6、如果要给站点绑定其他域名,可以安装 WordPress MU Domain Mapping 插件。

nginx多站点rewrite(重写)规则
wordpress多站点模式可以被应用在多种方式上。其中最常用的是在”子目录”模式或者”二级域名”模式上。
Nginx提供了两种特殊的指令:”x-accel-redirect”和”map”,使用这两个指令可以使得wordpress多站点的网络服务实现伪静态功能。

wordpress多站点使用子目录重写规则:
配置中jb51.net修改为自己的站点域名。

map $uri $blogname{
 ~^(?P<blogpath>/[^/]+/)files/(.*) $blogpath ;
}

map $blogname $blogid{
 default -999;

 #Ref: http://wordpress.org/extend/plugins/nginx-helper/
 #include /var/www/wordpress/wp-content/plugins/nginx-helper/map.conf ;
}

server {
 server_name jb51.net ;

 root /var/www/jb51.net/htdocs;
 index index.php;

 #多站点配置
 location ~ ^(/[^/]+/)?files/(.+) {
 try_files /wp-content/blogs.dir/$blogid/files/$2 /wp-includes/ms-files.php?file=$2 ;
 access_log off; log_not_found off; expires max;
 }

 #avoid php readfile()
 location ^~ /blogs.dir {
 internal;
 alias /var/www/jb51.net/htdocs/wp-content/blogs.dir ;
 access_log off; log_not_found off; expires max;
 }

 if (!-e $request_filename) {
 rewrite /wp-admin$ $scheme://$host$uri/ permanent;
 rewrite ^(/[^/]+)?(/wp-.*) $2 last;
 rewrite ^(/[^/]+)?(/.*\.php) $2 last;
 }

 location / {
 try_files $uri $uri/ /index.php?$args ;
 }

 location ~ \.php$ {
 try_files $uri =404;
 include fastcgi_params;
 fastcgi_pass php;
 }

 #此处可以继续添加伪静态规则
}

wordpress多站二级域名重写规则:
配置中jb51.net修改为自己的站点域名。

map $http_host $blogid {
 default  -999;

 #Ref: http://wordpress.org/extend/plugins/nginx-helper/
 #include /var/www/wordpress/wp-content/plugins/nginx-helper/map.conf ;

}

server {
 server_name jb51.net *.jb51.net ;

 root /var/www/jb51.net/htdocs;
 index index.php;

 location / {
 try_files $uri $uri/ /index.php?$args ;
 }

 location ~ \.php$ {
 try_files $uri =404;
 include fastcgi_params;
 fastcgi_pass php;
 }

 #WPMU Files
  location ~ ^/files/(.*)$ {
    try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?file=$1 ;
    access_log off; log_not_found off;  expires max;
  }

 #WPMU x-sendfile to avoid php readfile()
 location ^~ /blogs.dir {
 internal;
 alias /var/www/jb51.net/htdocs/wp-content/blogs.dir;
 access_log off; log_not_found off; expires max;
 }

 #此处可以继续添加伪静态规则
}

备注

“map”部分可以应用于小站点。大站点的多站点应用可以使用 nginx-helper wordpress插件 。
如果想进一步优化wordpress的性能可以使用Nginx的fastcgi_cache,当使用fastcgi_cache配置需要在编译nginx时加上ngx_cache_purge模块以及使用wordpress的缓存插件等等

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索nginx
, wordpress
, rewrite
, 重写
多站点
wordpress 重写规则、nginx重写规则、nginx url重写规则、wordpress url重写、nginx url 重写,以便于您获取更多的相关知识。

时间: 2024-09-20 22:03:57

WordPress中开启多站点支持及Nginx的重写规则配置_nginx的相关文章

如何在PHP中开启GD库支持详解

  Windows下开启PHP的GD库支持 找到php.ini,打开内容,找到: ;extension=php_gd2.dll 把最前面的分号";"去掉,再保存即可,如果本来就没有分号,那就是已经开启了. Linux下开启PHP的GD库支持 #开启GD库支持有以下几种方法 ##检测GD库是否安装命令  php5 -m | grep -i gd  或者  php -i | grep -i --color gd ##如未安装GD库,则为服务器安装,方法如下 ### 如果是源码安装,则加入参

nginx rewrite重写规则配置教程详细介绍

rewrite可以出现的地方有4个:NGX_HTTP_SRV_CONF,NGX_HTTP_SIF_CONF,NGX_HTTP_LOC_CONF,NGX_HTTP_LIF_CONF.分别对应着: NGX_HTTP_SRV_CONF:配置文件中的server域中的任何地方: NGX_HTTP_SIF_CONF:配置文件中server域中的if配置中: NGX_HTTP_LOC_CONF:配置文件中的location域中的任何地方: NGX_HTTP_LIF_CONF:配置文件中的location域中

PHP的Symfony和CodeIgniter框架的Nginx重写规则配置_nginx

SymfonySymfony国外很流行的php框架,目前国内用的相对较少,但是一定会在国内火起来. nginx重写规则如下 server { server_name jb51.net www.jb51.net; root /data/site/www.jb51.net; location / { # try to serve file directly, fallback to rewrite try_files $uri @rewriteapp; } location @rewriteapp

WordPress中的URL通用的几种形式分析

WordPress是博主常用的建站程序,而此次大赛中WordPress博客也得到了充分的发挥,排名前五的站点中,有四个使用 WordPress建站的,可见WordPress在SEO方面做也是非常优秀的. Internet上的每一个网页都具有一个唯一的名称标识,通常称之为URL地址,这种地址可以是本地磁盘,也可以是局域网上的某一台计算机,更多的是Internet上的站点.简单地说,URL就是Web地址,俗称"网址". URL 是统一的,因为它们采用相同的基本语法,无论寻址哪种特定类型的资

如何在Dreamweaver中快速定义站点?

dreamweaver|站点 本文选自4u2v工作室编写的<Dreamweaver网页设计与制作100例>(人民邮电出版社出版,ISBN: 7115142394 ).未经著作权所有者书面授权许可,禁止转载本文. 购买地址:点击访问 在 Dreamweaver 中建立站点,是进行网站开发的第二个关键步骤.这里所讲的建立站点,其实就是在 Dreamweaver 中定义站点.策划站点结构.部署开发环境.定义站点是为了更好地利用[文件]面板对站点文件进行管理,也是为减少一些错误的出现,如路径出错,链接

ASP.NET中的错误处理支持(转)

asp.net|错误|错误处理 ASP.NET中的错误处理支持 ASP.NET具有一个很好的新功能:它对运行时间错误的处理和跟踪提供了丰富支持.特别是,它为管理人员提供了一种很简单的方法,可以保证那些令人恐惧的"ASP 43433ax"十六进制形式的错误永远也不会被显示到客户面前.相反,它允许显示一个较为定制化的信息,比如"对不起,这个站点不可用".ASP.NET还提供了一种强大的方法,使开发人员可以对他们的代码进行装备,向管理人员提供发生在工作站点问题的额外信息与

Windows 操作系统中的 .NET Framework 支持(正文)

window Windows 操作系统中的 .NET Framework 支持 Hans VerbeeckMicrosoft EMEA 2002 年 9 月 适用于:   Microsoft .NET Framework   Microsoft Windows 操作系统 摘要:本文提供了有关能够安装 Microsoft .NET Framework 的 Microsoft Windows 版本的信息,同时还列出了 .NET Framework 的软件要求以及常规平台支持的某些例外情况.此外,还解

Windows操作系统中的.NET Framework支持

window Windows 操作系统中的 .NET Framework 支持 Hans Verbeeck Microsoft EMEA 2002 年 9 月 适用于: Microsoft? .NET Framework Microsoft? Windows? 操作系统 摘要:本文提供了有关能够安装 Microsoft .NET Framework 的 Microsoft Windows 版本的信息,同时还列出了 .NET Framework 的软件要求以及常规平台支持的某些例外情况.此外,还解

讲解VPN配置中关于虚拟站点属性

深入讲解VPN配置实例中关于虚拟站点属性,向大家介绍VPN配置实例的方法,可能好多人还不了解VPN配置实例是如何的,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西. 控制路由分发 在这一部分,我们讨论控制VPN-IPv4路由分发的方法. 目标VPN配置实例属性 每个站点转发表都与一个或多个"目标VPN"属性相关.当一个PE路由器产生一个VPN-IPv4路由时,该路由就与一个或多个"目标VPN 配置实例"属性相关.这些信息作为路由属性由BGP携带.任何与