背景
众所周知,默认情况下WordPress需要指定WordPress 地址(URL) 和 站点地址(URL) ,只有通过指定的URL才能访问WP站点。这在提升安全性的同时也造成了一些限制,比如站点迁移,亦或本地测试时往往会因为无法使用原先设置的固定URL导致站点无法访问。虽然可以用修改本地HOST的方法暂时绕开限制,但这里介绍一种一劳永逸的方法,从根本上解决问题。
实现方式
- 进入WordPress网站根目录。如果是Docker部署的WP,可以参考这篇文章中进入Docker的方法。
-
在
wp-config.php
末尾添加以下代码:
$url_wp = 'http://'.$_SERVER['HTTP_HOST'];
$url_site = 'http://'.$_SERVER['HTTP_HOST'];
define('WP_HOME', $url_wp);
define('WP_SITEURL', $url_site);
// 下面这行是原文件自带的,必须确保出现在文件末尾:
require_once ABSPATH . 'wp-settings.php';
如果希望自动判断HTTP和HTTPS,则使用以下代码:
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https://' : 'http://';
define('WP_HOME', $protocol . $_SERVER['HTTP_HOST']);
define('WP_SITEURL', $protocol . $_SERVER['HTTP_HOST']);
// 下面这行是原文件自带的,必须确保出现在文件末尾:
require_once ABSPATH . 'wp-settings.php';
- 回到WP站点刷新页面,此时可以通过任意地址或IP访问站点。此外,你会发现设置中的WordPress 地址(URL) 和 站点地址(URL) 变成了灰色不可编辑的状态。