Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 以不可见的方式重定向域_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Apache 以不可见的方式重定向域

Apache 以不可见的方式重定向域,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,我有一个客户希望他的域名被重定向到其他网站。例如: www.hisdomaine.com=>www.him.somewysiwyghost.com 重定向应该是透明的,因此www.hisdomain.com/somefolder应该转换为www.him.somesysiwyghhost.com/somefolder 对他来说重要的是,www.him.somewysiwyghost.com不应该让用户看到。用户应访问www.hisdomain.com。因此,框架不是一个选项。此外,框架不是搜索引擎

我有一个客户希望他的域名被重定向到其他网站。例如:

www.hisdomaine.com=>www.him.somewysiwyghost.com

重定向应该是透明的,因此www.hisdomain.com/somefolder应该转换为www.him.somesysiwyghhost.com/somefolder

对他来说重要的是,www.him.somewysiwyghost.com不应该让用户看到。用户应访问www.hisdomain.com。因此,框架不是一个选项。此外,框架不是搜索引擎优化的最佳选择

我尝试使用mod_rewrite,使用以下规则:

RewriteRule (.*) http://www.him.somewysiwyghost.com/$1 [L]

它工作正常,只是URI被翻译成www.him.somewysiwyghost.com,以便用户可以看到它。我怎样才能隐形地翻译呢?

在这种情况下,我认为您必须将域转移到另一台服务器上并将其停放。我不认为你可以通过
.htaccess
做这样的事情

另一个解决方案是使用全屏iFrame来显示其他站点,但不是很好。

您应该在vhost中这样使用:

<VirtualHost *:80>
    ServerName hisdomaine.com
    ServerAlias www.hisdomaine.com
    ProxyPass / http://www.him.somesysiwyghost.com
    ProxyPassReverse / http://www.him.somesysiwyghost.com
    ProxyPreserveHost On
    <Location />
        Order allow,deny
    Allow from all
    </Location>
</VirtualHost>

服务器名hisdomaine.com
ServerAlias www.hisdomaine.com
ProxyPass/http://www.him.somesysiwyghost.com
ProxyPassReverse/http://www.him.somesysiwyghost.com
代理主机
命令允许,拒绝
通融

我发现为了在htaccess文件中使用mod_proxy,我必须使用:RewriteRule(.*)[P,L],因为那里不允许使用ProxyPass。