PHP - 从链接本身而不是GET参数获取信息?

时间:2012-06-30 14:38:53

标签: php mod-rewrite url-rewriting

将URL的情况视为:

www.example.com/softwares/download.php?f=firefox&v=13

它看起来不如URL:

www.example.com/softwares/firefox/download?v=13

或相同的download.php用作:

www.example.com/softwares/chrome/download?v=20

如何在PHP中实现这种类型的URL过滤?

我想在这里讨论一些观点:

  1. 我不需要文件夹层次结构,例如/firefox/有不同的文件夹,/chrome/不同
  2. 所有产品只能有两个PHP文件(我希望):/software/software-info.php/software/download.php(已经获得here)。
  3. 我能够在PHP中从数据库中提取信息,但只想为不同的产品提供不同的链接。
  4. 我是一名Java Web开发人员,您可以Filters从链接的一部分获取信息并相应地重定向请求。

    我是PHP编程的新手,如果这个问题已被提出或明显,请原谅我并提供该问题链接。

2 个答案:

答案 0 :(得分:2)

理想情况下,您应该使用url重写(.htaccess中的mod-rewrite)。 您的访问者导航到:

www.example.com/softwares/firefox/download?v=13

甚至

www.example.com/softwares/firefox/13/

但您的服务器会将其理解为:

www.example.com/softwares/download.php?f=firefox&v=13

答案 1 :(得分:1)

您可以使用htaccess文件进行URL重写。基本上,这将允许您在/ software /之后获取URL的片段,并将它们传递给由软件脚本控制的ass参数。

还有一些使用'routes'的PHP框架。它们基于与URL重写类似的原则。我建议Codeigniter作为一个很好的起点 - 它是一个简单的框架,有大量的文档和教程。

祝你好运!