【问题标题】:How do I get this URL without considering the Apache settings?如何在不考虑 Apache 设置的情况下获取此 URL?
【发布时间】:2011-10-09 19:02:25
【问题描述】:

你好,我有这个需要用 PHP 获取的 URL

http://www.domain.com/forum/#forum/General-discussions-0.htm

问题是这不是一个真实的 URL,而是 .htaccess 创建的掩码。

我需要获取可见的 URL 而不是文件的真实路径,因为我需要将它与我拥有的一些 PHP 变量进行比较。

其实真正的路径应该是这样的:

http://domain.com/modules/boonex/forum/index.php

这样对我来说完全没用。

如何按原样获取第一个 URL?

【问题讨论】:

  • PHP Get the Full URL 的可能副本。请编辑您的原始问题,而不是发布新问题。
  • 你....不能吗?您将获得服务器发回响应的任何内容 - 它在发回任何类型的 HTTP 标头/响应之前处理 .htaccess 和 Apache 设置。
  • @Nightfirecat:和我说的答案一样:):p

标签: php apache url


【解决方案1】:

您无法从http://www.domain.com/forum/#forum/General-discussions-0.htm 获得。片段 (#) 之后的所有内容甚至都没有发送到服务器,除了使用 javascript 进行延迟更新外,无法检索它。您将得到的只是http://www.domain.com/forum/ 发送到服务器,然后在您的文档的 onload 事件中,您可以使用 javascript 加载一些内容。

【讨论】:

    【解决方案2】:

    查看源代码,否则它可能根本没有真正的网址。该部分用于基于 ajax 的导航。这可能意味着该站点上没有真正的 url,如果有,则应从 <a href="someurl"> 中提取它们,因为它们可能会使用 javascript 进行屏蔽。

    【讨论】:

      【解决方案3】:

      file_get_contents(); 
      

      例如。用户和您的服务器都不介意 .htaccess 处理请求的服务器必须将您引导到正确的地址

      然而 php 确实忽略了 # 之后的所有内容,所以在这种情况下,如果没有真正的 url,你就没有机会得到它

      正如@Wrikken所说,在#fragment之后没有办法获取url

      【讨论】:

      • 我会为此 +1,但我当天没有选票。不过,从现在起 2 小时后,它就会完成!
      • file_get_contents("url.to/file"); 但是 php 会忽略 # 之后的所有内容
      • @Nightfirecat: Dammit :( 即使有你的投票,我也不会获得声誉,因为我今天已经收到了 200+。如果你记得的话,你明天可以试试 :p
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      相关资源
      最近更新 更多