WordPress绑定多个域名,如何支持多个域名访问

修改wp-config.php文件来实现 WordPress绑定多个域名 及访问

一个网站是可以使用多个域名的。wordpress的网站绑定了多个域名后,除了主域名外,其它域名访问都会有js跨域的错误。怎么解决js跨域的错误呢,这就需要wordpress支持绑定多个域名了。

使用过wordpress的站长应该都清楚,wordpress在安装的时候会默认绑定当前的域名,后续绑定其他的域名但是页面的链接也还是安装时候的域名。那么今天给大家分享一下wordpress绑定多个域名或者取消域名绑定限制的方法。

在网站根目录找到wp-config.php 文件,在文件里找代码 require_once(ABSPATH . 'wp-settings.php');  在其上面添加以下代码

(一定要在这段代码的上面,不然无法读取CSS样式、图片等等。)

WordPress绑定多个域名,如何支持多个域名访问-1

要想实现WordPress绑定多个域名,并且都能度独立访问也不难。我们只需修改wp-config.php文件即可,在站点根目录找到“wp-config.php”文件,然后根据自己需要添加下面任意一段代码即可。

实现任意域名访问

说明:在wp-config.php文件中加下面代码,就能实现绑定解析的域名都能正常访问博客,而且不会串联到其他域名。

define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);

或者

$home = 'http://'.$_SERVER['HTTP_HOST'];
$siteurl = 'http://'.$_SERVER['HTTP_HOST'];
define('WP_HOME', $home);
define('WP_SITEURL', $siteurl);

PHP 中的 $_SERVER[‘HTTP_HOST']  用于获得来路域名。这样,就能根据来路为 WP_HOMEWP_SITEURL 变量赋值,实现 WordPress 多域名绑定。

实现任意域名https访问

define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);

或者

$home = 'https://'.$_SERVER['HTTP_HOST'];
$siteurl = 'https://'.$_SERVER['HTTP_HOST'];
define('WP_HOME', $home);
define('WP_SITEURL', $siteurl);

 

限制特定域名访问

也可以只指定某些域名可以访问。注意把 $domain = array("www.a.com", "www.b.com", "www.c.com"); 括号内的域名改成你自己需要绑定的域名。这样就可以设置成你添加的这几个域名能正常访问。而其他未添加的域名则无法访问。

设置网站域名为当前访问的域名,也就是取消了域名的绑定,如果不需要任意域名都能访问

 

$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数组里面即可。

你的网站已经可以实现多域名访问了,但是还是有一个问题,那就是静态资源,在wordpress上传的图片插入文章里面,地址是固定的,修改域名以后,并不会修改图片的域名,所以还需要修改静态文件地址,使用以下代码可以解决:

define( 'WP_CONTENT_URL',  '//' . $_SERVER['HTTP_HOST'] . '/wp-content');

把这段代码加入上面的代码下面即可。OK,到这里你的网站已经完美的突破了域名绑定的限制了。

评分

【AD】CoalCloud(碳云)深圳移动大带宽VPS,9折优惠,142.2元/月,1C1G/300M带宽@3T月流量

【AD】美国洛杉矶/香港/日本VPS推荐,回程电信CN2 GIA线路,延迟低、稳定性高、免费备份_搬瓦工