redirect到其他域,但保持键入域

在网上查了一个小时之后,我没有find我的问题的答案。 所以我用错误的关键字search,或者我想要的是不可能的。

我想要的是:
我有不同的扩展名的多个域,例如:

  • mydomain.be
  • mydomain.nl

现在我想要的是mydomain.be被redirect到mydomain.nl。 这个解决scheme我在互联网上find,下面显示,需要.htaccess:

RewriteEngine On RewriteCond %{HTTP_HOST} ^mydomain.be$ [OR] RewriteCond %{HTTP_HOST} ^www.mydomain.be$ RewriteRule (.*)$ http://www.mydomain.nl/$1 [R=301,L] 

有了这个代码,当你键入mydomain.be时,你将被redirect到mydomain.nl。 但是,地址栏中的url也会更改为mydomain.nl。 我想要的是保持地址栏mydomain.be中的url。

所以,mydomain.be:

  • 保持URL
  • 显示mydomain.nl的内容

如何?

可以通过mod_rewrite来完成,但要确保Apache的httpd.conf中启用了mod_proxy。 一旦完成,通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在DOCUMENT_ROOT目录下的.htaccess

 Options +FollowSymLinks -MultiViews RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.be$ [NC] RewriteRule ^ http://www.mydomain.nl%{REQUEST_URI} [L,NE,P] 

记下用于处理代理请求的标志P

阅读更多关于标志:P在mod_rewrite

另外一个选项,不用和.htaccess就是将两个域指向同一个文档根目录,或者将一个域设置为另一个域的别名,这取决于你如何configuration你的Apache。 但是,这有缺点:

  • 如果您的内容pipe理系统使用绝对URL,则点击链接上的mydomain.nl的用户将被定向到mydomain.be域(例如,WordPress会这样做)。
  • search引擎通过将您放在search结果上来惩罚这种行为。 至less谷歌,他们有一个有趣的博客文章重复的内容 。 不知道有关竞争对手。

一个例子apacheconfiguration可能是:

 <VirtualHost *:80> ServerName mydomain.nl ServerAlias mydomain.be DocumentRoot /var/www/mydomain.nl/htdocs </VirtualHost>