修改wp-config.php文件来实现 WordPress绑定多个域名 及访问
一个网站是可以使用多个域名的。wordpress的网站绑定了多个域名后,除了主域名外,其它域名访问都会有js跨域的错误。怎么解决js跨域的错误呢,这就需要wordpress支持绑定多个域名了。
使用过wordpress的站长应该都清楚,wordpress在安装的时候会默认绑定当前的域名,后续绑定其他的域名但是页面的链接也还是安装时候的域名。那么今天给大家分享一下wordpress绑定多个域名或者取消域名绑定限制的方法。
在网站根目录找到wp-config.php 文件,在文件里找代码 require_once(ABSPATH . 'wp-settings.php');
在其上面添加以下代码
(一定要在这段代码的上面,不然无法读取CSS样式、图片等等。)
要想实现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_HOME
和 WP_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,到这里你的网站已经完美的突破了域名绑定的限制了。