静默重写/代理至非安全域

静默重写/代理至非安全域

是否有某种方法可以静默地、内部地将所有页面重定向到另一台服务器?

我在 Site5 的服务器“huckleberry”上有一个网站。我可以通过其服务器的路径访问该页面(使用 SSL 证书)[这对于共享主机很常见]:

  1. http://mysite.com/checkout.php(不安全)
  2. https://huckleberry.site5.com/~myaccount/mysite.com/checkout.php(安全的)

页面的所有链接和其他内容都假定第一个域,并且编辑所有页面是不切实际的。
例如,指向 /Assets/mystyles.css 的链接 404 非常糟糕。

是否有某种方法可以让用户登录到第二个域,而 Apache 会将所有请求都视为指向第一个页面?

那么当页面请求 /mystyles 时,它会获取 mysite.com/mystyles.css 而不是 huckleberry.site5.com/~myaccount/styles.css?

我曾尝试弄清​​楚使用 ProxyPass 和 mod_rewrite,但无法使其工作。

谢谢

答案1

为什么人们坚持使用硬编码链接而不是使用相对路径?

有些产品可以在文件夹中进行批量查找和替换,这将是更可维护的长期解决方案。

答案2

在第二个域名(hucklebery.site5.com)中,您可以在主机配置文件(不是 .htaccess)中进行设置:

ProxyPassMatch ^/~myaccount/mysite.com/(.*)$ http://mysite.com/$1
# You may also need to do this to deal with cookies
ProxyPassReverseCookieDomain mysite.com hucklebery.site5.com
ProxyPassReverseCookiePath / /~myaccount/mysite.com/

相关内容