安装在虚拟机上且位于反向代理后面的WordPress将重定向到该虚拟机的IP地址

时间:2019-07-03 作者:MarkHammons

我已经尽我所能建立了wordpress。我已经适当更改了站点url和主页配置,https重定向工作正常。唯一没有的是像这样的链接https://example.com/wordpress/index.php/postname. 当wordpress获得这样的链接时,它会执行301重定向到https://192.168.122.172/wordpress/index.php/postname. 这指向一个只能由VM主机访问的地址,因此重定向当然会失败,页面内容根本无法显示。

为什么会发生这种情况?在其他任何地方,wordpress都在使用适当的https://example.com/wordpress URL,那么为什么在这个例子中它试图重定向到192.168.122.172?

2 个回复
SO网友:MarkHammons

我找到了解决办法。显然要wp-includes/canonical.php 和更换线路$redirect_url = apply_filters(\'redirect_canonical\', $redirect_url, $requested_url);$redirect_url = null; 修复了此行为,尽管它是一个不稳定的修复,因为它将被更新覆盖。

为什么这么难开始工作?我使用的其他所有Web服务器软件都没有出现反向代理背后的虚拟机问题。

SO网友:Rsevero

我认为正确的解决方案是将passHostHeader=true添加到Traefik的前端配置中,如中的详细信息所示https://superuser.com/questions/1457357/how-to-fix-wordpress-links-not-pointing-to-site-url-when-being-accessed-through/1457561

相关推荐

Redirect From Url To Url

我想重定向相同的目录,但url结构不同。我使用的url结构:http:示例。com/car/cadillac/image/2我想直接使用http:示例。com/car/cadillac/image/url。因为这个url是404。我想重定向到http:example。com/汽车/凯迪拉克/(事实上,问题来自“图像”链接结构:How to change the permalink structure of a master page?) 作为替代方案,我考虑了路由规则。但cpanel 301重定向未成功。