内部链接仍然指向开发子域?

Posted

技术标签:

【中文标题】内部链接仍然指向开发子域?【英文标题】:Internal links still point to development subdomain? 【发布时间】:2017-08-22 05:09:08 【问题描述】:

我将一个 wordpress 站点从子目录 http://www.development.example.com 移动到根目录 public_html。 我已将站点和主页 url 更新为 http://www.example.com 并在控制面板的 phpMyAdmin 中进行了验证。指向其他页面的标题链接按预期工作,但我在主页上的内部跳转链接(例如http://www.example.com/#about)仍然指向子域链接http://www.development.example.com/#about。管理仪表板中或直接在数据库中是否有其他地方可以检查必要的 url 更改以解决此问题?

【问题讨论】:

我还尝试将update_option( 'siteurl', 'http://www.example.com' ); update_option( 'home', 'http://www.example.com' ); 插入到主题的function.php 文件中。 【参考方案1】:

你可以尝试几件事。

1.) 将以下内容添加到您的 wp-config.php 文件中:

define('WP_HOME','http://yourdomain.com');
define('WP_SITEURL','http://yourdomain.com');

2.) 如果您有 (SSH) 访问 WP CLI,您可以在您的站点根目录中运行它:

wp search-replace oldomain.com newdomain.com

3.) 试试Better Search Replace 插件。

【讨论】:

我已经将#1 添加到wp-config.php。我最初使用的“搜索和替换插件”不起作用,但您建议的“Better 搜索替换”插件捕获了额外的结果并成功了!【参考方案2】:

请更新您数据库中的查询

UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://olddomain.com', 'http://newdomain.com');

更改您的 oldomain 链接和 newdomain 链接

希望对你有帮助

【讨论】:

我更喜欢这种查询方法,而不是插件和手动将语句插入文件。下次我迁移 wp 网站时,我会试试这个。

以上是关于内部链接仍然指向开发子域?的主要内容,如果未能解决你的问题,请参考以下文章

带有页面树的内部链接的通量域

链接到内部页面 wordpress

Elementor:浮动到内部内容右侧的元素会影响内容链接 - 如何修复?

如何在 Google Colab 中做内部链接

如何构件合理的网站内部链接

带有 Mandrill 子域的通用深度链接