您好,登錄后才能下訂單哦!
今天小編給大家分享一下WordPress中怎么開啟多站點支持及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的緩存插件等等
以上就是“WordPress中怎么開啟多站點支持及Nginx的重寫規則配置”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。