是否有某种方法可以静默地、内部地将所有页面重定向到另一台服务器?
我在 Site5 的服务器“huckleberry”上有一个网站。我可以通过其服务器的路径访问该页面(使用 SSL 证书)[这对于共享主机很常见]:
- http://mysite.com/checkout.php(不安全)
- 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/