Regex 重定向到其他域,但保留键入的域

Regex 重定向到其他域,但保留键入的域,regex,apache,.htaccess,mod-rewrite,mod-proxy,Regex,Apache,.htaccess,Mod Rewrite,Mod Proxy,在网上看了大约一个小时后,我没有找到我问题的答案。所以我用错误的关键字搜索,或者我想要的是不可能的 我想要的: 我有多个具有不同扩展的域,例如: mydomain.be mydomain.nl 现在我想要的是mydomain.be被重定向到mydomain.nl。我在互联网上找到了解决方案,如下所示,需要.htaccess: RewriteEngine On RewriteCond %{HTTP_HOST} ^mydomain.be$ [OR] RewriteCond %{HTTP_HOST

在网上看了大约一个小时后,我没有找到我问题的答案。所以我用错误的关键字搜索,或者我想要的是不可能的

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

  • mydomain.be
  • mydomain.nl
现在我想要的是mydomain.be被重定向到mydomain.nl。我在互联网上找到了解决方案,如下所示,需要.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时,将重定向到mydomain.nl。但地址栏中的URL也更改为mydomain.nl。我想要的是将URL保存在地址栏mydomain.be中

因此,mydomain.be:

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

如何?

可以通过mod_rewrite完成,但请确保在Apache的httpd.conf中启用mod_代理。完成后,通过
httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放入
文档根目录下的
.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


可以通过mod_rewrite完成,但请确保在Apache的httpd.conf中启用了mod_代理。完成后,通过
httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放入
文档根目录下的
.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


另一个不用与
争论的选项是将两个域指向同一文档根目录,或将一个域设置为另一个域的别名,具体取决于您如何配置Apache。然而,这也有缺点:

  • 如果您的内容管理系统使用绝对URL,则在链接上单击mydomain.nl的用户将被定向到mydomain.be域(例如WordPress会这样做)
  • 搜索引擎通过将你放在搜索结果的下方来惩罚这种行为。至少谷歌做到了,他们有一个有趣的想法。不确定竞争对手
apache配置示例可以是:

<VirtualHost *:80>
    ServerName mydomain.nl
    ServerAlias mydomain.be

    DocumentRoot /var/www/mydomain.nl/htdocs
</VirtualHost>

ServerName mydomain.nl
ServerAlias mydomain.be
DocumentRoot/var/www/mydomain.nl/htdocs

另一个不用与
争论的选项是将两个域指向同一文档根目录,或将一个域设置为另一个域的别名,具体取决于您如何配置Apache。然而,这也有缺点:

  • 如果您的内容管理系统使用绝对URL,则在链接上单击mydomain.nl的用户将被定向到mydomain.be域(例如WordPress会这样做)
  • 搜索引擎通过将你放在搜索结果的下方来惩罚这种行为。至少谷歌做到了,他们有一个有趣的想法。不确定竞争对手
apache配置示例可以是:

<VirtualHost *:80>
    ServerName mydomain.nl
    ServerAlias mydomain.be

    DocumentRoot /var/www/mydomain.nl/htdocs
</VirtualHost>

ServerName mydomain.nl
ServerAlias mydomain.be
DocumentRoot/var/www/mydomain.nl/htdocs

太棒了,谢谢你,让我很开心,但是我可以在同一个.htaccess中使用多个url吗?例如,只需添加更多的“RewriteCond”和“RewriteRule”?这对我不起作用。我有www.mydomain.com和abc.anotherdomain.com。我想在www.mydomain.com上显示abc.anotherdomain.com的内容,而不更改url。我得到404错误。有什么建议吗?@anubhava:修改的htacces是域A还是域B?因为我刚刚创建了一个域a的子域,指向域B的相同ip,所以子域a没有网站,也没有文件夹。这可能吗?@PonzioPilato:这个规则应该仍然适用于将subDomainA更改为subDomainB
subDomainA
可能没有内容,但在
VirtualHost
@anubhava中会定义一些
DocumentRoot
,这不是一个安全问题吗?如果我理解正确,这就像在我的网站url上显示另一个网站(我不拥有)的内容?太棒了,谢谢你,让我开心了,但是我可以在同一个.htaccess中使用多个url吗?例如,只需添加更多的“RewriteCond”和“RewriteRule”?这对我不起作用。我有www.mydomain.com和abc.anotherdomain.com。我想在www.mydomain.com上显示abc.anotherdomain.com的内容,而不更改url。我得到404错误。有什么建议吗?@anubhava:修改的htacces是域A还是域B?因为我刚刚创建了一个域a的子域,指向域B的相同ip,所以子域a没有网站,也没有文件夹。这可能吗?@PonzioPilato:这个规则应该仍然适用于将subDomainA更改为subDomainB
subDomainA
可能没有内容,但在
VirtualHost
@anubhava中会定义一些
DocumentRoot
,这不是一个安全问题吗?如果我理解正确,这就像在我的网站url上显示另一个网站(我不拥有)的内容?