将代理传递的 URL 重定向到主 URL

将代理传递的 URL 重定向到主 URL

我有一个 WordPress 博客托管在一台服务器 (比如 server-blog) 上,比如说,https://blog.example.com我们的 Python 应用程序托管在单独的服务器(例如 server-py)上,其 URL 为https://www.example.com。为了从主域上的博客中获取 SEO 汁液,内容是通过代理传递的https://blog.example.comhttps://www.example.com/blog/。其配置相当简单。

SSLProxyEngine on
ProxyPass /blog/ https://blog.example.com/
ProxyPassReverse /blog/ https://blog.example.com/

现在,我想https://blog.example.com重定向到的域https://www.example.com/blog/,这样最终用户就不会混淆哪一个是正确的 URL。因为,https://www.example.com/blog/已经通过代理传递,简单地添加重定向规则将创建一个无限重定向循环。我研究过使用查询字符串参数,但代理传递不适用于此。

关于如何做到这一点,您有什么想法吗?

答案1

也许不是最理想的,但你可以重定向/重写所有流量,除非请求来自反向代理(我猜它将有一个静态 IP,比如 1.2.3.4)。修改blog.example.com 的虚拟主机在 server-blog 上添加如下内容:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4$
RewriteRule ^/(.*)$ https://www.example.com/blog/$1 [R,L]

(未经测试)

相关内容