我有一个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&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
1条答案
按热度按时间gstyhher1#
您添加的用于修改
$_SERVER['HTTP_HOST']
的代码可能会导致与WordPress核心功能冲突。您可以尝试以下操作:
清除缓存
**检查.htaccess:**确保您的.htaccess文件不会导致任何URL重写问题。
**WordPress设置更新:**确保WordPress管理面板中的“WordPress地址(URL)”和“站点地址(URL)”设置正确设置为https://www.example.com/blogs。要做到这一点,请转到设置>常规并更新“WordPress地址(URL)”和“站点地址(URL)”字段。