我在这种情况下坚持使用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执行此操作?有什么建议吗?
答案 0 :(得分:0)
刚刚发现它可以通过重定向[P](代理)方法完成:
RewriteRule ^(.*)$ http://myapp.com/public_view/$1 [P]
您怎么看?这是一个好的和稳定的方法吗?
该方法很好,它使用mod_proxy module。我唯一可以建议的是添加L
标志,以防你的htaccess文件中有其他规则。
在htaccess文件中使用P
标记的限制是,如果某个网页或请求http://myapp.com/
重定向,那么您的网址地址栏会显示http://myapp.com/
而不是您的其他域名。解决这个问题的唯一方法是使用ProxyPassReverse
但它在htaccess文件中不起作用。您需要访问vhost config:
ProxyPass / http://myapp.com/public_view/
ProxyPassReverse / http://myapp.com/public_view/
此外,如果http://myapp.com/
设置了Cookie,则需要使用ProxyPassReverseCookieDomain
和ProxyPassReverseCookiePath
指令重写这些。