其他分类 · 21 6 月, 2025 0

WordPress使用动态URL访问(不指定固定站点地址)

背景

众所周知,默认情况下WordPress需要指定WordPress 地址(URL)站点地址(URL) ,只有通过指定的URL才能访问WP站点。这在提升安全性的同时也造成了一些限制,比如站点迁移,亦或本地测试时往往会因为无法使用原先设置的固定URL导致站点无法访问。虽然可以用修改本地HOST的方法暂时绕开限制,但这里介绍一种一劳永逸的方法,从根本上解决问题。

实现方式

  1. 进入WordPress网站根目录。如果是Docker部署的WP,可以参考这篇文章中进入Docker的方法。

  2. 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';
  1. 回到WP站点刷新页面,此时可以通过任意地址或IP访问站点。此外,你会发现设置中的WordPress 地址(URL)站点地址(URL) 变成了灰色不可编辑的状态。