WordPress的wp-admin中wp-admin-canonical URL设置不正确

6ss1mwsb  于 2023-08-03  发布在  WordPress
关注(0)|答案(1)|浏览(110)

我有一个WordPress博客,它是托管在WP引擎。该网站的URL是www.example.com/blogs。现在,当我访问管理端时,它删除了blog部分,管理屏幕加载了www.example.com/wp-admin。现在,如果我点击任何管理链接,它将被重定向到www.example.com上的404页面。如果我禁用JavaScript,它工作正常,blogs部分不会被删除。我没有在管理端添加任何自定义JavaScript,但我可以在那里看到这个JS:

if ( window.history.replaceState ) {
            window.history.replaceState( null, null, document.getElementById( 'wp-admin-canonical' ).href + window.location.hash );
        }

字符串
正下方

<link id="wp-admin-canonical" rel="canonical" href="https://www.example.com/wp-admin/theme-editor.php?file=assets%2Fjs%2Fadmin.js&amp;theme=cx">


我认为这就是问题的起因。现在,如果我添加以下代码:

if(strpos( $_SERVER['REQUEST_URI'], "wp-admin") >= 0) {
 $_SERVER['HTTP_HOST'] = 'www.example.com/blogs';
}


这解决了管理方面的问题,但不知何故,它是打破了前端网站,并给予404为一些个别职位。
在我的staging环境中,wp-admin-canonical是不同的,它是WPEengine URL,因此JavaScript没有影响,它在控制台上显示了一个错误。但生产,它是原始的URL,所以它是取代的URL。
如果有人能让我知道如何解决这个问题将是很有帮助的。我将wp-options设置中的站点URL和主页URL设置为https://www.example.com/blogs

gstyhher

gstyhher1#

您添加的用于修改$_SERVER['HTTP_HOST']的代码可能会导致与WordPress核心功能冲突。
您可以尝试以下操作:

清除缓存
**检查.htaccess:**确保您的.htaccess文件不会导致任何URL重写问题。
**WordPress设置更新:**确保WordPress管理面板中的“WordPress地址(URL)”和“站点地址(URL)”设置正确设置为https://www.example.com/blogs。要做到这一点,请转到设置>常规并更新“WordPress地址(URL)”和“站点地址(URL)”字段。

相关问题