1

在这种情况下,我坚持使用 htaccess 重定向:

我有 myapp.com 域,我的主要网站和服务在该域上运行。我的客户在 myapp.com 上登录他们的帐户并使用。现在,我将在一个单独的域上提供其中一项功能,让我们假设“goto.com”。但是,我不想在 goto.com 上构建一个单独的应用程序。我只想将所有即将到来的请求重定向到 goto.com 到 myapp.com 下的 php 脚本,但这个重定向应该在后端(屏蔽),而不是 301 重定向。

让我澄清一下:

myapp.com - /var/www/vhosts/myapp.com/httpdocs/index.php

goto.com --> 屏蔽重定向 --> myapp.com/goto.php?$1

我怎样才能用 htaccess 做到这一点?有什么建议么?

4

1 回答 1

0

刚刚发现可以用redirect [P](proxy)方法来完成:RewriteRule ^(.*)$ http://myapp.com/public_view/$1 [P]你觉得呢?这是一个好的和稳定的方法吗?

该方法很好,它利用了mod_proxy 模块。我唯一可以建议的是添加L标志,以防您的 htaccess 文件中有其他规则。

在 htaccess 文件中使用P标志的一个限制是,如果页面或请求http://myapp.com/重定向,那么您的 URL 地址栏将http://myapp.com/显示而不是您的其他域。解决这个问题的唯一方法是使用ProxyPassReverse,但它在 htaccess 文件中不起作用。您需要访问虚拟主机配置:

ProxyPass / http://myapp.com/public_view/
ProxyPassReverse / http://myapp.com/public_view/

此外,如果http://myapp.com/设置 cookie,您将需要使用ProxyPassReverseCookieDomainProxyPassReverseCookiePath指令来重写它们。

于 2012-09-20T20:53:49.250 回答