如何屏蔽网址地址


How to mask URL address?

认为我有domain.com重定向到some.otherdomain.com。我不想向我的网站访问者显示确切的网址some.otherdomain.com。我需要屏蔽我的 URL,以便它看起来像domain.com有什么可能的方法吗?.htaccess/javascript?

隐藏域的最佳方法是使用反向代理(apache,nginx等)并为其提供重写规则。

假设domain.comsome.otherdomain.com位于两台物理上不同的服务器上,并且您无法更改其中任何一台的DNS信息,则需要在domain.com上安装反向代理。 您可以使用mod_proxy。 文档位于:

http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

您需要

注意以下信息:

相比之下,反向代理对客户端来说就像一个 普通网络服务器。客户端上没有特殊配置 必要。客户端对 反向代理的名称空间。然后,反向代理决定在何处 发送这些请求,并返回内容,就好像它是它本身一样 起源。

文档中有一个保留代理的示例,但您需要如下所示的内容:

ProxyRequests Off
<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>
ProxyPass / http://some.otherdomain.com/
ProxyPassReverse / http://some.otherdomain.com/

基本上,域中的任何请求都将代理到some.otherdomain.com - 本地Web服务器将转发请求,缓冲来自otherdomain.com的数据,然后将相同的数据写回本地数据。 希望这有帮助!

我一直认为最好的方法是通过服务器配置中的mod_rewrite(或类似)来做这些事情(Apache或任何使用的东西)

在 domain.com 的 Apache Web 服务器上,您必须启用:

  1. mod_proxy
  2. mod_rewrite
  3. .htaccess

完成这些要求后,请将此代码放入您的 .htaccess 中,DOCUMENT_ROOT of domain.com

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

更简单的

方法是在 domain.com 上设置一个带有 iframe 的页面,并将 iframe 的源设置为 some.otherdomain.com。 但是,用户将能够查看页面的源代码,并看到您的 iframe 指向 some.otherdomain.com。

<iframe src="http://some.otherdomain.com/">...

另一种选择是在 .htaccess 中使用mod_rewrite,如此线程所示。