【问题标题】:how do I get the visible URL (not that actual URL) in PHP after using htaccess rewrites? [duplicate]使用 htaccess 重写后,如何在 PHP 中获取可见 URL(不是实际 URL)? [复制]
【发布时间】:2014-09-03 06:29:19
【问题描述】:

我正在尝试使用 PHP 获取地址栏中的 URL,但 $_SERVER['REQUEST_URI'] 将该路径返回到实际文件,而不是我使用 .htaccess 创建的 URL。例如,如果我的文件位于

example.com/files/example.php

但我已将网址更改为:

example.com/example

我想使用 PHP 获取更漂亮的 URL,而不是实际路径。 $_SERVER['REQUEST_URI'] 正在返回实际路径。

【问题讨论】:

  • @this.lau_ 不是重复的。该答案将在重定向后获得网址
  • 当然,如果您知道如何在 htaccess 文件中重写 url,您可以轻松地在 $_SERVER['REQUEST_URI'] 上的 php 中使用相同的逻辑来生成重写的 url? stackoverflow.com/questions/6588661/…答案可能对你有所帮助。
  • @Basic,你是对的,我猜应该是 user1 提到的问题/答案的副本。

标签: php


【解决方案1】:
$prettyUrl= str_replace(array('files/', '.php'), ' ', $_SERVER['PHP_SELF']);

明显不同的逻辑取决于哪个页面及其对应的 htaccess 重写。

当然,当您指的是 $_SERVER['PHP_SELF'] 时,有人会认为您在谈论重定向?如果是这样,该 url 应该已经重写,因为它是从浏览器发送的。

【讨论】:

    【解决方案2】:

    如果您的服务器将浏览器重定向到新 URL,您可以从 $_SERVER['HTTP_REFERER'] 获取旧 URL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多