将目标实际网址隐藏在地址中的屏蔽网址

时间:2019-05-07 08:26:34

标签: javascript php html url

我想在地址栏中显示不同的URL,而不是实际的URL。

我正在使用此示例

function init() {
  document.getElementById("test").onclick = function(e) {
    jx("counter.php?url=" + escape("http://www.google.com/")); //Use your favorite ajax library here.
  }
}

window.onload = init;
<a href="http://www.google.com/" id="test">Go To Google</a>

我的counter.php就是这样

<?php
  header("Location: " . $_GET['http://www.hotmail.com']);
?>

1 个答案:

答案 0 :(得分:2)

  

我想在地址栏中显示不同的URL,而不是实际的URL。

通常:您不能。


The History API允许您操纵历史记录以显示不同的URL,而无需更改页面……但是只能在相同的来源中进行。 (因此,您可能在http://example.com/上,但显示http://example.com/other而不是http://example.net/)。

这是为了使大量Ajaxy网站在生成客户端页面时可以具有用于不同“页面”的真实URL。目的是当直接访问URL或由不支持JavaScript的客户端访问URL时,可以在服务器端生成相同的页面。这样可以提供搜索引擎友好的可访问内容,并在客户端允许的情况下提高性能,同时在网站内的页面之间进行导航。


一个URL可能与另一个URL提供相同的内容。这可以是简单的静态副本,也可以使用服务器端代码(如果是the CORS policy allows it,则可以动态拉出)。

当然,在复制内容时,所有相对URL都需要更新,否则它们就会中断。

自然,您不能使用它来使http://www.google.com/显示与http://www.hotmail.com相同的内容:您无法控制http://www.google.com,因此无法更改其提供的内容。