【发布时间】:2011-02-10 03:15:24
【问题描述】:
多参数搜索
在我的应用程序中,当用户可以搜索 "in:inbox is:unread" 时,我希望允许用户使用类似于 GMail 功能的简单语法基于多个参数进行复杂搜索强>等
但是,GMail 使用此信息进行 POST,我希望表单为 GET,以便信息位于搜索结果页面的 URL 中。
因此我需要在 URL 中格式化参数。
要求:
- 尽可能保持网址整洁
- 避免使用无效的 URL 字符,例如方括号
- 允许大量搜索功能
- 以后可以添加更多功能。
我知道 StackOverflow 允许用户以这种方式通过 多个标签 进行搜索:
不过,我还希望允许用户使用多个附加参数进行搜索。
初步设计
我目前的设计是使用如下 URL:
- http://example.com/search/tagged/c+sql/searchterm/transactions
- http://example.com/search/searchterm/transactions
- http://example.com/search/tagged/c+sql
- http://example.com/search/tagged/c+sql/not-tagged/java
- http://example.com/search/tagged/c+sql/created/yesterday
- http://example.com/search/created_by/user1234
我打算在search参数之后解析URL,然后决定如何构造我的搜索查询。
有没有人见过这样的 URL 参数在网站上实现得很好?
如果是这样,哪个做得最好?
【问题讨论】:
标签: url mod-rewrite url-rewriting url-parameters