内部链接仍然指向开发子域?
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 网站时,我会试试这个。以上是关于内部链接仍然指向开发子域?的主要内容,如果未能解决你的问题,请参考以下文章