我会尽力解释这个问题;我有两个域名:www.original.com
和www.mysite.com/
。在www.original.com
的网站中,没有内容,所有内容都托管在www.mysite.com/original/
中。现在,当我访问www.original.com
时,我已经设置了这样的重定向:
redirectMatch 307 ^(.*)$ http://www.mysite.com/original
但是,我意识到这不是我需要的,因为我希望www.original.com
网站的访问者在地址栏上看到www.original.com
,而不是http://www.mysite.com/original
。在.htaccess中有没有办法做到这一点?我以前通过插件域在我的旧主机帐户的cPanel中执行此操作,但我现在拥有的主机(united-domains.de)显然不提供插件域。
由于
答案 0 :(得分:0)
你必须告诉www.original.com充当代理服务器。但这可能需要你不仅仅是编辑htaccess。
有关更多信息,请参阅此处:http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
答案 1 :(得分:0)
由于2个站点是分开的,因此您需要依赖mod_proxy。有许多方法可以创建从www.original.com
域到www.mysite.com
域的反向代理。最简单的方法是使用ProxyPass
和ProxyPassReverse
:
ProxyPass / http://www.mysite.com/original
ProxyPassReverse / http://www.mysite.com/original
但这些仅适用于服务器或vhost配置。如果您无权访问它,则必须使用mod_rewrite的[P]
标志,该标志将RewriteRule
的目标替换交给mod_proxy,您可以在htaccess文件中使用它:< / p>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?original\.com$ [NC]
RewriteRule ^(.*)$ http://www.mysite.com/original/$1 [L,P]