一個(gè)wordpress如何綁定多域名
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
今天有客戶咨詢?nèi)绾巫屢粋€(gè)wordpress綁定多個(gè)域名,客戶說(shuō)以前有一個(gè)域名為www.a.com現(xiàn)在呢,感覺www.b.com也不錯(cuò),但是又不想做兩個(gè)官網(wǎng),也不想做301,就是想讓兩個(gè)域名都可以打開,用wordpress的朋友都知道,WordPress在安裝的時(shí)候會(huì)默認(rèn)綁定當(dāng)前的域名,后續(xù)綁定其他的域名但是頁(yè)面的鏈接也還是安裝時(shí)候的域名。那么今天給大家分享一下WordPress綁定多個(gè)域名或者取消域名綁定限制的方法。
1. 打開網(wǎng)站根目錄下的wp-config.php,在define(‘WP_DEBUG’, false);后面添加下面內(nèi)容:
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
這兩句的意思就是設(shè)置網(wǎng)站域名為當(dāng)前訪問(wèn)的域名,也就是取消了域名的綁定,如果不需要任意域名都能訪問(wèn),只是幾個(gè)域名的話,可以這樣:
$domain = array("www.a.com", "www.b.com", "www.c.com");
if(in_array($_SERVER['HTTP_HOST'], $domain)){
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
}
把指定的域名放在$domain數(shù)組里面即可。
PS:
如果是https,請(qǐng)修改代碼里面的http://為https://;
如果網(wǎng)站安裝在二級(jí)目錄,則將’http://’ . $_SERVER[‘HTTP_HOST’]修改為’http://’ . $_SERVER[‘HTTP_HOST’].’/對(duì)應(yīng)目錄名’
2. 在完成上面的工作以后,你的網(wǎng)站已經(jīng)可以實(shí)現(xiàn)多域名訪問(wèn)了,但是還是有一個(gè)問(wèn)題,那就是靜態(tài)資源,在WordPress上傳的圖片插入文章里面,地址是固定的,修改域名以后,并不會(huì)修改圖片的域名,所以還需要修改靜態(tài)文件地址,使用以下代碼可以解決:
define( 'WP_CONTENT_URL', '/wp-content');
把這段代碼加入上面的代碼下面即可。
簡(jiǎn)單粗暴的代碼如下:
然后在主域名網(wǎng)站(放置程序所在網(wǎng)站目錄)內(nèi)編輯wp-config.php,加入以下代碼
//使用ssl的域名
$ssldomain = array("www.aaa.com","aaa.com");
if(in_array($_SERVER['HTTP_HOST'], $ssldomain)){
?? ?define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
?? ?define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);
}
//非ssl域名
$nonssldomain = array("www.bbb.com","bbb.com","www.ccc.com","ccc.com","www.ddd.com","ddd.com","www.eee.com","eee.com","www.fff.com","fff.com");
if(in_array($_SERVER['HTTP_HOST'], $nonssldomain)){
?? ?define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
?? ?define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
}
define( 'WP_CONTENT_URL', '/wp-content');
打開WordPress目錄下的wp-config.php文件,在里面添加下面這段內(nèi)容:
/* Enable multiple domains access. */
$current_sitename= $_SERVER[‘HTTP_HOST’];
if ($current_sitename == “www.1.com”) {
? ? define(“WP_SITEURL”, “http://www.1.com”);
? ? define(“WP_HOME”, “http://www.1.com”);
} elseif ($current_sitename == “www.2.net”) {
? ? define(“WP_SITEURL”, “http://www.2.net”);
? ? define(“WP_HOME”, “http://www.2.net”);
}
=============================================================
也可定義為不同文件夾以顯示不同內(nèi)容
/* Enable multiple domains access. */
$current_sitename= $_SERVER[‘HTTP_HOST’];
if ($current_sitename == “www.1.com”) {
? ? define(“WP_SITEURL”, “http://www.1.com”);
? ? define(“WP_HOME”, “http://www.1.com”);
} elseif ($current_sitename == “www.2.net”) {
? ? define(“WP_SITEURL”, “/blog”);
? ? define(“WP_HOME”, “/blog”);
}
注意上述代碼需要添加在
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . ‘wp-settings.php’);
的前面才可以生效哦~~。
上面的這段代碼根據(jù)HTTP請(qǐng)求中的參數(shù)修改了WP_SITEURL和WP_HOME常量,WordPress正是靠這兩個(gè)常量來(lái)判斷站點(diǎn)的地址。
由于配置文件中定義的常量具有較高的優(yōu)先級(jí),覆蓋了數(shù)據(jù)庫(kù)中定義的站點(diǎn)地址,因此就實(shí)現(xiàn)了多域名訪問(wèn)。
到這里你的網(wǎng)站已經(jīng)完美的突破了域名綁定的限制了,多種可以多域名訪問(wèn)的,希望能幫助大家哦!還記得有一個(gè)可以修改數(shù)據(jù)庫(kù)的方法,自己也沒(méi)有研究出,但是以前見過(guò)也忘記了,今天客戶需要才想起來(lái)寫教程,尷尬~~~~
問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!
博主,這樣設(shè)置沒(méi)用啊,我用的是寶塔,我套路一個(gè)cf,是不是這個(gè)問(wèn)題使用沒(méi)有用