更改.htaccess中的URL

时间:2012-09-19 10:37:52

标签: apache .htaccess

我会尽力解释这个问题;我有两个域名:www.original.comwww.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)显然不提供插件域。

由于

2 个答案:

答案 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域的反向代理。最简单的方法是使用ProxyPassProxyPassReverse

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]