如何使用php从这个表单的URL获取地址栏参数?

时间:2014-04-28 21:53:08

标签: php

我看到了一个带有以下网址方案的论坛(IPS):

www.example.com/index.php?/topic/12345

显示主题ID 12345。

我对php很新,我想知道,他们究竟做了什么来理解上述请求是否要求主题ID 12345?我只知道如何使用$_POST$_GET收集信息。以下是我对后者的尝试:

echo "The user wants to see the topic ID " . $_GET["topic"];

但这需要表格

的网址
www.example.com/index.php?topic=12345

那么,他们为实现该计划做了什么?

2 个答案:

答案 0 :(得分:1)

有两种方法:

  1. 你可以使用url-rewriting将web服务器上的url重写为带有查询变量的url(你可以在SO上找到很多关于url-rewriting的内容);
  2. 您可以分析像$_SERVER['REQUEST_URI']这样的服务器变量来分割和分析php脚本中的url。您仍然需要重写以确保所有请求都通过您的脚本而不会转到未找到的页面。

答案 1 :(得分:1)

他们可能正在使用类似于名为mod_rewrite的apache模块的东西。 mod_rewrite用于重写网址。在这种情况下?topic = 12345正在被重写/翻译为topic / 12345 /。

branded3.com上有一篇不错的文章,其中概述了您可以使用mod_rewrite执行的一些很酷的内容。您需要Create beautiful url’s with mod_rewrite部分来了解如何使用它来创建效果更好的网址。