【问题标题】:Change PHP query string delimiter to "#" for use with $_GET?将 PHP 查询字符串分隔符更改为“#”以与 $_GET 一起使用?
【发布时间】:2012-08-24 04:28:55
【问题描述】:

在 PHP 中如何更改查询字符串的分隔符?到 #

我有一个基本功能:

        <?php
        if ($_GET['var'])
        {echo $_GET['var'] ;}
        else
        {echo "default output";}
        ?>

但在 URL 语法中,我需要查询字符串分隔符为 #(而不是?),如下所示:

http://example.com/sample.php#var=foo

我正在考虑更改 php.ini ??

我在任何地方都找不到这方面的文档。提前致谢!

【问题讨论】:

  • 这里与PHP无关。
  • ietf.org/rfc/rfc3986.txt(在其中快速搜索“片段”一词,并与我们中的许多人一起努力使网络成为一个更加基于标准的生态系统.
  • 需要使用#而不是?谷歌分析特别推荐——所以当它们实际上是同一个页面时,带有查询字符串 VARS 的 URL 不会被索引为唯一页面 [developers.google.com/analytics/devguides/collection/gajs/…
  • @Nmoden -- 我不是 PHP 专业人士,只知道我的代码中的 PHP 函数适用于 ?作为查询字符串 delim,但不是 # .... 似乎与 PHP 有关。我应该看看mod重写解决方案还是什么? ...任何帮助表示赞赏。

标签: php query-string


【解决方案1】:

您需要在客户端处理。

哈希 (#) 以及除此之外的所有内容从不发送到服务器。

【讨论】:

  • +1,你不能指望 PHP(也不应该希望)能够改变 URI 的含义。
  • 嗯...我知道您可以更改 php.ini 中的查询字符串变量分隔符...您可以在这里查看一下 :: [davidwalsh.name/… ...我该怎么做如果你说不能在服务器上做,就在客户端改?
猜你喜欢
  • 2018-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-10
  • 2014-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多