认为我已将domain.com
重定向到some.otherdomain.com
。
我不想向我的网站访问者显示确切的网址some.otherdomain.com
。
我需要屏蔽我的网址,以便它看起来像domain.com
任何可能的方式? .htaccess / javascript?
答案 0 :(得分:5)
隐藏域名的最佳方法是使用反向代理(apache,nginx,...)并为其提供重写规则。
答案 1 :(得分:3)
假设domain.com
和some.otherdomain.com
位于两个物理上不同的服务器上,并且您无法更改其中任何一个的DNS信息,则需要在{{1}上安装反向代理}。您可以使用domain.com
。文档位于:
http://httpd.apache.org/docs/2.0/mod/mod_proxy.html
以下信息是您需要注意的:
相比之下,反向代理对客户端来说就像是一个 普通的Web服务器。客户端没有特殊配置 必要。客户端对内容进行普通请求 反向代理的名称空间。反向代理然后决定在哪里 发送这些请求,并返回内容,就好像它本身一样 起源。
在文档中有一个保留代理的示例,但您需要这样的内容:
mod_proxy
基本上,任何将域代理到ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://some.otherdomain.com/
ProxyPassReverse / http://some.otherdomain.com/
的请求 - 本地Web服务器将转发请求,缓冲来自some.otherdomain.com
的数据,然后将相同的数据写回,就好像这是本地数据。希望这有帮助!
答案 2 :(得分:1)
我一直认为最好的方法是通过服务器配置中的mod_rewrite(或类似)来做这些事情(Apache或其他任何用途)
答案 3 :(得分:1)
在domain.com的Apache网络服务器上,您必须启用:
完成这些要求后,将此代码放在domain.com
的DOCUMENT_ROOT下的.htaccess中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteRule ^ http://some.otherdomain.com%{REQUEST_URI} [L,P]
这里的重要标志是P
(代理),它基本上会domain.com
代理some.otherdomain.com
的所有请求,而不会在浏览器中显示它。有关此标志的更多文档,请参见此处:http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule
答案 4 :(得分:0)
更简单的方法是在domain.com上设置iframe并在其上设置iframe,并将iframe的来源设置为some.otherdomain.com。但是,用户可以查看该页面的来源,并看到您的iframe指向some.otherdomain.com。
<iframe src="http://some.otherdomain.com/">...
另一种选择是在.htaccess中使用mod_rewrite,如this thread所示。