是否自定义URL查询参数?

时间:2012-02-22 12:55:39

标签: php get url-routing

我正在将所有请求重定向到index.php,它会解析URL并根据它触发相应的控制器。

更改查询参数在URL中的显示方式是一个好主意吗?

喜欢http://site.com/somepage/sub-subpage/page=20,offset=100。然后解析这些参数并将它们传递给控制器​​,因为它看起来更具可读性。

或者我应该坚持$ _GET的事情?比如...http://site.com/somepage/sub-subpage/?page=20&offset=100

5 个答案:

答案 0 :(得分:2)

不太好主意,因为你必须自己实现查询解析。我认为没有这方面的优势。如果您使用标准?name=val&name=val表示法,则:

  • 自动解析并存储到$_GET[]
  • 可以立即开始使用POST。
  • 解析中可能存在的漏洞较少。至少他们是众所周知的。

答案 1 :(得分:1)

坚持使用标准,因此最好坚持使用$_GET

答案 2 :(得分:1)

YAGNI - 你不需要它。不要想太多,只要这样做。除了品味问题(有人可能会说“我不喜欢我的网址中的问题标记”),只使用正常工作的常用格式以及许多解析器/有很多好处/功能确实存在。此外,如果您不清楚格式,可以找到可以参考的文档。

答案 3 :(得分:1)

如果你有很好的网址(所谓的SEO朋友网址),即使你不关心谷歌或它的管理区域,它会更好。

使用漂亮网址的原因是

  • 它更具可读性。
  • 您可以手动更改参数。
  • 当您将其粘贴到电子邮件,即时消息或其他媒体时,该网址是有意义的。
  • 丑陋的网址使得难以阅读实际值。有时你需要它。
  • 当你看到地址栏时,它看起来很干净,你知道你在哪里。
  • 在丑陋的网址中,你不知道你在哪里。每个网址似乎都在中间。

在mod_rewrite的帮助下创建干净的网址并不难。

  1. 将index.php的所有URI重写为/index.php/REQUESTED_URL
  2. index.php中解析网址并调用控制器。

答案 4 :(得分:0)

我认为这对SEO很有意思。看看Googles对这个问题的看法:http://googlewebmastercentral.blogspot.com/2008/09/dynamic-urls-vs-static-urls.html

因此,当这个“伪”URL定义具有真正不同内容的页面(即/ user / clara,/ user / tom ...)时,有意义,但避免将会话ID等动态变量放入此静态表单中。