WordPress 的链接使用的是绝对 URL,这样做的好处是避免了因为路径处理错误而出现死链接。但是路径信息是直接写在数据库里面的,从开发环境迁移到正式环境或者更换域名的时候需要修改数据库里面的域名信息才可以。一个 WordPress 站点绑定多个域名的时候也会遇到问题,即便如此,我们还是可以通过一些方法来绑定多个域名的。
绑定多个域名的前提
在 WordPress 中,同一个设置数据,常量的优先级高于在数据库里面定义的变量。WordPress 为我们提供了 WP_HOME 和 WP_SITEURL 这两个常量。这两个常量对应的是后台设置中的以下两个选项。事实上,设置了这两个常量以后,下面的 URL 配置选项就被禁用了。
而获取这两个选项的方法分别是:
- $home = get_home_url();
- $siteurl = get_site_url();
WordPress 绑定多个域名的方法
根据 WordPress 配置数据的优先级,我们可以通过下面的代码覆盖数据库里面的这两个设置。
- $home = ‘http://’.$_SERVER[‘HTTP_HOST’]; #获取当前访问的域名
- $siteurl = ‘http://’.$_SERVER[‘HTTP_HOST’];
- define(‘WP_HOME’, $home);
- define(‘WP_SITEURL’, $siteurl);
以上代码可以写到 WordPress 的 wp-config.php 文件或当前主题的 function.php 中。
获取首页 URL 和站点 URL
需要注意的是,一旦设置了这两个值,我们就需要通过获取常量值来获取首页 URL 和站点 URL 了,通过上面的方法获取的数据库里面的地址有可能是不正确的。
- $home = WP_HOME;
- $siteurl = WP_SITEURL;
在绑定多个域名和或经常需要修改域名的时候,这种方法是非常好用的,如果网站只有一个域名或者偶尔更换一下域名,还是直接修改数据库里面的地址比较好一点。
加群入久伴博客官方微信群
加入久伴官方微信群有啥优势?
1.文章内部资源由于时间久远可能失效,加群,群内可以第一时间反馈
2.网站中教程不一定适用任何人,加群可以第一时间咨询并解决您得疑惑
3.你游荡于互联网,也需要群体,加群一起互动交流,畅所欲言
扫描下方二维码即可加入交流讨论
