gpt4 book ai didi

php - wordpress+docker+apache mod 代理重定向到 http ://localhost

转载 作者:行者123 更新时间:2023-12-04 12:35:41 26 4
gpt4 key购买 nike

我的环境是,可以通过 ip:port 访问在 apache 上运行 wordpress 的 docker 容器。 .主机环境有一个 apache 实例,用于重定向到达 http://myurl 的流量。至 localhost:port使用 mod 代理(我与同一主机中的其他 docker 容器进行了相同的设置,工作正常)。但是访问http://myurl (更改 wordpress 配置后)只会将您重定向到本地主机(在 wordpress 容器的 apache 日志中,我可以看到它给出了一个 301 来重定向您)。

只有当您访问基本网址时才会出现问题。 ( http://myurl/wp-login.php 有效)

主机 Apache 配置:

<VirtualHost *:80>
ServerName my.url.com
<IfModule mod_proxy.c>
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</IfModule>
</VirtualHost>

这有效(在 wp-config.php 中):
define('WP_HOME','http://8.8.8.8:8080');
define('WP_SITEURL','http://8.8.8.8:8080');

这不
define('WP_HOME','http://my.url.com');
define('WP_SITEURL','http://my.url.com');

这些是我启用的 wordpress 插件。但请注意,我也相应地更改了他们的配置。
  • wp-support-plus
  • 管理员自定义登录

  • 更新:
    这似乎在某种程度上解决了问题。
    define('WP_HOME','http://8.8.8.8:8080');
    define('WP_SITEURL','http://my.url.com');

    一些组件(主页按钮等)仍然适用于 ip:port但系统有效。

    最佳答案

    原来问题是在重定向发生时标题被剥离。我通过添加 ProxyPreserveHost On 解决了这个问题到主机apache配置。更改后的文件现在看起来像这样。
    主机 Apache 配置:

    <VirtualHost *:80>
    ServerName my.url.com
    <IfModule mod_proxy.c>
    ProxyRequests Off
    ProxyPreserveHost On # needed if you need to pass the original host header
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/
    </IfModule>
    </VirtualHost>

    关于php - wordpress+docker+apache mod 代理重定向到 http ://localhost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61998617/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com