WordPress多站點(diǎn)模式怎么設(shè)? 快來(lái)看詳細(xì)教程!
最近,眾多網(wǎng)友熱衷于嘗試WordPress的多站點(diǎn)操作。這種模式并非僅僅在服務(wù)器上安裝多個(gè)WP程序來(lái)解析不同域名,而是通過(guò)調(diào)整一個(gè)WP程序,達(dá)到多站點(diǎn)、多域名共存,并且數(shù)據(jù)庫(kù)共享的效果。這其中的配置工作相當(dāng)復(fù)雜。
開(kāi)啟多站點(diǎn)模式
/* Multisite settings */ define( 'WP_ALLOW_MULTISITE', true );
在WP-CONFIG.PHP文件中加入代碼,是啟動(dòng)多站點(diǎn)的關(guān)鍵步驟。這是整個(gè)配置過(guò)程的起點(diǎn)。許多人可能不清楚代碼該添加在哪里以及如何添加。實(shí)際上,只需找到正確的路徑找到該文件,操作就完成了。若這一步出錯(cuò),后續(xù)的設(shè)置都會(huì)受影響。WP-CONFIG.PHP是WordPress程序中非常關(guān)鍵的配置文件,因此在添加代碼時(shí)要格外小心。代碼添加完畢后,刷新WordPress后臺(tái),會(huì)發(fā)現(xiàn)后臺(tái)界面有所變化,多出了一個(gè)“工具”-“網(wǎng)絡(luò)設(shè)置”選項(xiàng)。這一變化表明之前的操作是成功的,接下來(lái)就可以進(jìn)行下一步設(shè)置了。
這里需要注意對(duì)代碼的細(xì)致操作。比如,2023年10月,就有用戶(hù)因?yàn)榇a中出現(xiàn)了錯(cuò)誤,使得WP后臺(tái)無(wú)法正常運(yùn)行。這全是因?yàn)闆](méi)有對(duì)添加的內(nèi)容進(jìn)行仔細(xì)核對(duì)的結(jié)果。
子域名與二級(jí)目錄選擇
在設(shè)置網(wǎng)絡(luò)時(shí),首先需要決定是使用子域名還是二級(jí)目錄。這個(gè)決定將直接關(guān)系到網(wǎng)站構(gòu)建的具體方法。選了子域名,網(wǎng)站就會(huì)以blog.example.com這樣的子域形式出現(xiàn);而選擇了二級(jí)目錄,網(wǎng)站地址就會(huì)變成example.com/blog這樣的結(jié)構(gòu)。不同的選擇對(duì)應(yīng)著不同的應(yīng)用場(chǎng)景。
用戶(hù)在搭建個(gè)人博客群時(shí),更偏愛(ài)使用子域名,認(rèn)為這有助于區(qū)分不同類(lèi)別的文章。至于企業(yè)構(gòu)建產(chǎn)品子站點(diǎn),采用二級(jí)目錄即可巧妙融入主站架構(gòu)。選擇何種方式需依據(jù)個(gè)人需求,且需深思熟慮,全面考量長(zhǎng)遠(yuǎn)規(guī)劃等因素。
繼續(xù)配置代碼添加
選定了子域名或二級(jí)目錄后,還需在配置文件中添加特定指令。這一步驟常常是出錯(cuò)的高發(fā)區(qū)。不少初學(xué)者對(duì)代碼感到棘手,很容易出現(xiàn)誤寫(xiě)或遺漏。代碼中的符號(hào)和字母必須確保精確無(wú)誤。
我曾在某個(gè)網(wǎng)絡(luò)技術(shù)團(tuán)隊(duì)中,看到一位成員分享了他配置多個(gè)站點(diǎn)的心得。他講述了一個(gè)因代碼中小寫(xiě)的字母誤寫(xiě)成大寫(xiě)而耗費(fèi)數(shù)小時(shí)排查的教訓(xùn)。因此,大家在執(zhí)行這一步驟時(shí)務(wù)必格外小心。這個(gè)環(huán)節(jié)是在前一步的基礎(chǔ)上對(duì)多站點(diǎn)配置的深化,若處理不當(dāng),可能會(huì)導(dǎo)致站點(diǎn)出現(xiàn)諸多問(wèn)題,例如數(shù)據(jù)同步失敗。
站點(diǎn)偽靜態(tài)規(guī)則配置
# 根據(jù)自己的實(shí)際修改下面的域名 log_format yourdomain.com '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; server { listen 80; # 根據(jù)自己的實(shí)際修改下面的域名 server_name yourdomain.com *.yourdomain.com; index index.html index.htm index.php default.html default.htm default.php; # 注意修改下面的網(wǎng)站目錄 root /mnt/wwwroot/yourdomain.com; #include wordpress.conf; #以下是 lnmp 1.0 的 wordpress.conf 規(guī)則,也就是上一行 include wordpress.conf 里面的 location / { 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 (.*) /index.php; } } # wordpress.conf 規(guī)則 結(jié)束 location ~ .*.(php|php5)?$ { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fcgi.conf; } location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*.(js|css)?$ { expires 12h; } access_log /home/wwwlogs/huchangmeng.com.log huchangmeng.com; #ignored: “-” thing used or unknown variable in regex/rew rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /wp-admin/ permanent; if (-f $request_filename){ set $rule_2 1; } if (-d $request_filename){ set $rule_2 1; } if ($rule_2 = "1"){ #ignored: “-” thing used or unknown variable in regex/rew } rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) / last; rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ / last; rewrite /. /index.php last; }
WordPress的多站點(diǎn)模式下,不論是Nginx還是Apache環(huán)境,都少不了偽靜態(tài)規(guī)則的設(shè)置。在Nginx環(huán)境中,只需按照提供的規(guī)則進(jìn)行修改即可,但這些規(guī)則并不簡(jiǎn)單。據(jù)統(tǒng)計(jì),2023年8月有30%的用戶(hù)在調(diào)整Nginx的偽靜態(tài)規(guī)則時(shí)遇到了問(wèn)題。
若您在Apache環(huán)境下操作,需將提供的特定代碼替換至網(wǎng)站根目錄的.htaccess文件中原有代碼。值得注意的是,子域名和子目錄模式下的替換規(guī)則各不相同。只有熟練掌握不同環(huán)境下的偽靜態(tài)配置,才能有效提升網(wǎng)站在搜索引擎排名和用戶(hù)訪(fǎng)問(wèn)體驗(yàn)方面的表現(xiàn)。
多站點(diǎn)域名管理
在多站點(diǎn)操作模式中,域名管理功能相當(dāng)強(qiáng)大。它允許使用主域名的二級(jí)域名,亦或選用其他域名。不過(guò),這要求進(jìn)行域名映射解析。舉例來(lái)說(shuō),成都一家小型的網(wǎng)絡(luò)公司,為了給海外客戶(hù)搭建多站點(diǎn),由于對(duì)域名映射解析的步驟不太熟悉,整個(gè)過(guò)程耗費(fèi)了他們大量時(shí)間。
進(jìn)行域名解析操作時(shí),須在注冊(cè)商處正確設(shè)置記錄,保證域名精確無(wú)誤地指向目標(biāo)站點(diǎn)。同時(shí),WordPress平臺(tái)上的配置也要相應(yīng)調(diào)整,如此才能確保多個(gè)站點(diǎn)能借助不同域名順暢運(yùn)行。
數(shù)據(jù)管理與同步
RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^(wp-(content|admin|includes).*) $1 [L] RewriteRule ^(.*.php)$ $1 [L] RewriteRule . index.php [L]
數(shù)據(jù)管理在多個(gè)站點(diǎn)間變得極為便捷,主站點(diǎn)就能輕松實(shí)現(xiàn)多站點(diǎn)的數(shù)據(jù)同步和管控。以一個(gè)大型新聞網(wǎng)站為例,它擁有眾多分站,熱門(mén)新聞可迅速傳播至各分站,有效降低了人力和時(shí)間投入。然而,數(shù)據(jù)備份同樣重要,一旦特殊數(shù)據(jù)丟失,恢復(fù)難度較大。我曾有一位朋友,他管理的動(dòng)漫主題多站點(diǎn)就因一次意外未及時(shí)備份,導(dǎo)致部分原創(chuàng)資源更新記錄丟失,之后他不得不投入大量精力進(jìn)行恢復(fù)。
你對(duì)WordPress的多站點(diǎn)功能有興趣嗎?不妨在評(píng)論區(qū)留下你的想法。同時(shí),也歡迎你點(diǎn)贊并分享這篇文章。
RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L] RewriteRule . index.php [L]
作者:小藍(lán)
鏈接:http://www.m13746.cn/content/8016.html
本站部分內(nèi)容和圖片來(lái)源網(wǎng)絡(luò),不代表本站觀點(diǎn),如有侵權(quán),可聯(lián)系我方刪除。