我的WordPress网站的IP地址发生变化后,
我必须在wp-config.php
中对其地址进行硬编码:
define('WP_HOME','http://54.77.99.66');
define('WP_SITEURL','http://54.77.99.66');
当我删除wp-config.php
中的行时,我的网站将无法再访问。
如何摆脱硬编码条目并在UI中设置我的网站地址(目前显示为灰色)?
答案 0 :(得分:2)
我经常在域之间移动站点,因为我测试功能,还原和测试备份等等。我总是只在整个数据库中更改域。这种方法的问题在于,许多选项都存储在MySQL中作为序列化的PHP数组,其中包含字符串的长度作为值,因此您无法执行盲搜索和替换。但是,一家名为interconnect /的公司有一个名为Search Replace DB的免费产品,能够安全地遍历和更新这些阵列。我说'#34;安全"因为我已经运行了数百次没有问题,但他们仍然总是建议先备份你的数据库。
search
框中输入您原有网站的replace
框中输入您的新网站database
区域输入您的WP数据库信息dry run
按钮,查看该工具认为应该更新的内容。您通常会在wp_options
中看到一两项,在wp_posts
和wp_postmeta
中看到一堆。如果您有博客wp_comments
可能会获得一些更新。根据您的插件,您也可以获得其他插件。您甚至可以点击view changes
链接,查看它认为应该更新的内容。live run
按钮并让它执行更新。更换文字时需要注意一些事项。如果我的网站为example.net
且我的电子邮件地址为chris@example.net
,而我仅在example.net
执行替换,那么 也将更改我的电子邮件地址。如果我的网站是www.example.net
(使用WWW),那么我会在www.example.net
上搜索哪些不会捕获。我总是审核用户只是为了让没有任何域冲突。如果有,我只是再次执行上述步骤,每次用户更改一次电子邮件地址,但这种情况非常罕见。
要注意的另一件事是关于您的域的基于文本的内容。例如,如果您将旧域保留在example.net
并在example.com
处剥离博客,后者可能会有一篇关于前者有多棒产品的博客帖子,但替换会指向后者。
然而,这是我用这个工具遇到的唯一两个边缘情况。使用此工具,您应该能够完全避免WP_HOME
和WP_SITEURL
常量。
另外,如果你担心,actual WordPress codex even references and recommends this product。
更改您的域名和网址
当您的域名或网址时 更改 - 即从http://example.com/site到http://example.com,或 http://example.com至http://example.net - 还有其他内容 关注。可以移动文件和数据库,但是引用 旧域名或位置将保留在数据库中 可能会导致链接或主题显示问题。
...
使用Search and Replace for WordPress Databases Script安全地更改所有实例。 (如果您是开发人员,请使用此选项。这是一个单步过程,而不是下面的15步过程)
答案 1 :(得分:0)
这似乎对我有用。老实说不确定它是如何工作的:
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
我想它确实是'http:// <yoursite>
',其中<yoursite>
被替换为网址栏中服务器的任何地址。这样做,我可以在本地(即通过本地IP)和其他网络访问我的网站,没有问题。