【问题标题】:how to configure proxy or web server to keep URL in browser unchanged如何配置代理或 Web 服务器以保持浏览器中的 URL 不变
【发布时间】:2014-01-17 12:18:17
【问题描述】:

今天我来问这个问题。 我的 github 页面位于io。 我申请了两个免费域名。第一个是ml 另一个是ga

由于连接速度低,我使用DNSpod(一个DNS解析服务器)来加速ml,这是一个请求重定向服务,因此当我访问ml时,它会跳转回io ,当我点击它上面的链接时,我浏览器中的URL 肯定会改变。

例如:
http://rugal.github.io/pages/archive.html
http://rugal.github.io/pages/projects.html

但是这里有一个非常大的奇迹,另一个域名ga,我没有对其进行任何增强,只是将其配置为URL转发到io,结果出现了一个非常神奇的现象。我发现浏览器中的URL 不会改变,即使我点击其中的任何超链接。

我自己是一名Java程序员大约三年,我知道一些关于网络代理和DNS解析的基本概念。我认为这种魔法可能会在apache url rewriteweb server 的某种行为中配置

我在这里问如何实现我在问题中提到的功能。 由于这是我提出的第一个问题,所以我试图澄清它,请不要将此问题视为AD 或某种形式。 我整晚都解谜了!

更新

我不认为这是由 html 中的 <frameset> 标签引起的,因为我的 github 页面是由 jekyll 生成的,其中似乎没有 <frameset> 标签。
还有,即使里面有<frameset>,为什么ml的URL一直在变化,而ga却从不变化?他们指向完全相同的网站rugal.github.io

【问题讨论】:

    标签: apache networking nginx proxy dns


    【解决方案1】:

    这是一个框架集:

     <frameset rows="*">
        <frame frameborder=0 src="http://rugal.ml" name="dot_tk_frame_content" scrolling="auto" noresize>
      </frameset>
    </html>
    

    rugal.ga 的原始文档包含一个框架,其中嵌入了其他页面。它就像浏览器中的浏览器。地址栏中仅显示主文档的 URL,因此永远不会更改。

    这不是一个很好的做法,原因有很多,其中一个原因是您的访问者看不到当前文档的地址。

    【讨论】:

    • 如上所述,我的github页面是由jekyll制作的,我认为它不包含您提到的frameset。另外,在访问ml时,URL会发生变化,您如何解释?因为两个域名实际上指向同一个rugal.github.io。因此我认为重要的是代理服务器的功能,而不是其中的html 代码!
    • 注入帧代码的是rugal.ga。这是网络主机转发到不同域的一种流行方式。 .ml URL 将更改,因为它们没有注入框架。这不是代理问题。
    • 真的吗?这是个好主意!您的意思是 DNS 服务器使用 &lt;frameset&gt; 注入响应?能说一下是怎么注入的吗?非常感谢!
    • 我同意这不是一个好习惯!谢谢,今晚我会检查注入的代码
    • 我在rugal.ga的页面中找到了它,似乎是DNS服务器注入了它,或者其他一些网络设施,而rugal.ml没有!谢谢你!!!
    猜你喜欢
    • 2013-05-15
    • 1970-01-01
    • 2016-07-30
    • 2011-08-03
    • 2013-01-14
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多