前言
如果你使用WordPress搭建网站,可能遇到过域名绑定的问题。默认情况下,WP会严格区分WWW和非WWW域名,且多域名绑定后会跳转到主域名。本文将教你如何实现多个域名绑定同一个WP站点。
开始教程
1. 修改WP配置文件
在 wordpress 网站根目录 wp-config.php
文件内 <?php
第三行增加下面的代码,以禁用域名检查。
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
这样,我们只需要解析每一个域名都可以自动的访问到WP站点不会301跳转。
2、固定域名解析
可以设置固定的域名访问到WP,如果没有设置的,无法解析过来,防止他人恶意的解析。
$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']);
}
把指定的 www.a.com、www.b.com、www.c.com
几个域名放在 $domain
数组中即可。
注意事项
1、如果网站是 https
,请修改代码里面的 http:// 为 https://
;
2、如果网站安装在二级目录,
则将 ‘http://’ . $_SERVER[‘HTTP_HOST’]
改为 ‘http://’ . $_SERVER[‘HTTP_HOST’].’/对应目录名’
3、经过以上操作修改后,网站就可以实现多域名访问了,但是网站中的静态资源(比如后台上传的图片、视频等),在插入的文章里面的地址也是固定的(包含了原始安装域名)。
以上修改域名操作后也并不会修改这些附件路径里的域名部分,所以,还需要修改静态文件地址,使用以下代码可以解决:
define( 'WP_CONTENT_URL', '/wp-content');
比如我们在使用静态文件的 wp-content文件夹的时候,也可以设置一个相对路径,这样不同的域名访问,在代码里的图片路径就是当前域名的相对路径。