如何屏蔽URL地址?

时间:2012-04-18 20:34:09

标签: php javascript .htaccess

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

5 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

假设domain.comsome.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网络服务器上,您必须启用:

  1. mod_proxy的
  2. mod_rewrite的
  3. 的.htaccess
  4. 完成这些要求后,将此代码放在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所示。