WordPress多站點(diǎn)模式怎么設(shè)? 快來看詳細(xì)教程!
最近,眾多網(wǎng)友熱衷于嘗試WordPress的多站點(diǎn)操作。這種模式并非僅僅在服務(wù)器上安裝多個WP程序來解析不同域名,而是通過調(diào)整一個WP程序,達(dá)到多站點(diǎn)、多域名共存,并且數(shù)據(jù)庫共享的效果。這其中的配置工作相當(dāng)復(fù)雜。
/* Multisite settings */ define( 'WP_ALLOW_MULTISITE', true );
在WP-CONFIG.PHP文件中加入代碼,是啟動多站點(diǎn)的關(guān)鍵步驟。這是整個配置過程的起點(diǎn)。許多人可能不清楚代碼該添加在哪里以及如何添加。實際上,只需找到正確的路徑找到該文件,操作就完成了。若這一步出錯,后續(xù)的設(shè)置都會受影響。WP-CONFIG.PHP是WordPress程序中非常關(guān)鍵的配置文件,因此在添加代碼時要格外小心。代碼添加完畢后,刷新WordPress后臺,會發(fā)現(xiàn)后臺界面有所變化,多出了一個“工具”-“網(wǎng)絡(luò)設(shè)置”選項。這一變化表明之前的操作是成功的,接下來就可以進(jìn)行下一步設(shè)置了。
這里需要注意對代碼的細(xì)致操作。比如,2023年10月,就有用戶因為代碼中出現(xiàn)了錯誤,使得WP后臺無法正常運(yùn)行。這全是因為沒有對添加的內(nèi)容進(jìn)行仔細(xì)核對的結(jié)果。
子域名與二級目錄選擇
在設(shè)置網(wǎng)絡(luò)時,首先需要決定是使用子域名還是二級目錄。這個決定將直接關(guān)系到網(wǎng)站構(gòu)建的具體方法。選了子域名,網(wǎng)站就會以blog.example.com這樣的子域形式出現(xiàn);而選擇了二級目錄,網(wǎng)站地址就會變成example.com/blog這樣的結(jié)構(gòu)。不同的選擇對應(yīng)著不同的應(yīng)用場景。
用戶在搭建個人博客群時,更偏愛使用子域名,認(rèn)為這有助于區(qū)分不同類別的文章。至于企業(yè)構(gòu)建產(chǎn)品子站點(diǎn),采用二級目錄即可巧妙融入主站架構(gòu)。選擇何種方式需依據(jù)個人需求,且需深思熟慮,全面考量長遠(yuǎn)規(guī)劃等因素。
繼續(xù)配置代碼添加
選定了子域名或二級目錄后,還需在配置文件中添加特定指令。這一步驟常常是出錯的高發(fā)區(qū)。不少初學(xué)者對代碼感到棘手,很容易出現(xiàn)誤寫或遺漏。代碼中的符號和字母必須確保精確無誤。
我曾在某個網(wǎng)絡(luò)技術(shù)團(tuán)隊中,看到一位成員分享了他配置多個站點(diǎn)的心得。他講述了一個因代碼中小寫的字母誤寫成大寫而耗費(fèi)數(shù)小時排查的教訓(xùn)。因此,大家在執(zhí)行這一步驟時務(wù)必格外小心。這個環(huán)節(jié)是在前一步的基礎(chǔ)上對多站點(diǎn)配置的深化,若處理不當(dāng),可能會導(dǎo)致站點(diǎn)出現(xiàn)諸多問題,例如數(shù)據(jù)同步失敗。
站點(diǎn)偽靜態(tài)規(guī)則配置
# 根據(jù)自己的實際修改下面的域名 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ù)自己的實際修改下面的域名 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ī)則并不簡單。據(jù)統(tǒng)計,2023年8月有30%的用戶在調(diào)整Nginx的偽靜態(tài)規(guī)則時遇到了問題。
若您在Apache環(huán)境下操作,需將提供的特定代碼替換至網(wǎng)站根目錄的.htaccess文件中原有代碼。值得注意的是,子域名和子目錄模式下的替換規(guī)則各不相同。只有熟練掌握不同環(huán)境下的偽靜態(tài)配置,才能有效提升網(wǎng)站在搜索引擎排名和用戶訪問體驗方面的表現(xiàn)。
多站點(diǎn)域名管理
在多站點(diǎn)操作模式中,域名管理功能相當(dāng)強(qiáng)大。它允許使用主域名的二級域名,亦或選用其他域名。不過,這要求進(jìn)行域名映射解析。舉例來說,成都一家小型的網(wǎng)絡(luò)公司,為了給海外客戶搭建多站點(diǎn),由于對域名映射解析的步驟不太熟悉,整個過程耗費(fèi)了他們大量時間。
進(jìn)行域名解析操作時,須在注冊商處正確設(shè)置記錄,保證域名精確無誤地指向目標(biāo)站點(diǎn)。同時,WordPress平臺上的配置也要相應(yīng)調(diào)整,如此才能確保多個站點(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ù)管理在多個站點(diǎn)間變得極為便捷,主站點(diǎn)就能輕松實現(xiàn)多站點(diǎn)的數(shù)據(jù)同步和管控。以一個大型新聞網(wǎng)站為例,它擁有眾多分站,熱門新聞可迅速傳播至各分站,有效降低了人力和時間投入。然而,數(shù)據(jù)備份同樣重要,一旦特殊數(shù)據(jù)丟失,恢復(fù)難度較大。我曾有一位朋友,他管理的動漫主題多站點(diǎn)就因一次意外未及時備份,導(dǎo)致部分原創(chuàng)資源更新記錄丟失,之后他不得不投入大量精力進(jìn)行恢復(fù)。
你對WordPress的多站點(diǎn)功能有興趣嗎?不妨在評論區(qū)留下你的想法。同時,也歡迎你點(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.yunyix1.cn/content/8016.html
本站部分內(nèi)容和圖片來源網(wǎng)絡(luò),不代表本站觀點(diǎn),如有侵權(quán),可聯(lián)系我方刪除。