2

我正在构建一个搜索表单,但我不知道是使用经典的 get 查询还是创建一个可以与我的路由器匹配的自定义 url 更好。

得到

路线

4

2 回答 2

2

我不知道是否有一个最好的答案,但大多数人在 URL 中使用 /term/definition/term/definition 已经有一段时间了,因为这对于 SEO 来说是最好的。然而,谷歌(和其他人)已经取得了一些进展。看看这个 谷歌网站管理员博客条目——他们在搜索项目时似乎更有智慧。

我的一般规则是我使用获取参数进行实际搜索,使用 URL 进行类别(或浏览)——我相信这是最直观的。而且,就像现在看起来一样……无论如何,搜索引擎都可以更好地索引和搜索 URL 参数。

于 2013-06-16T00:06:39.920 回答
1

您可以在模块配置中使用自定义路由定义:

'search' => array(
  'type' => 'Zend\Mvc\Router\Http\Segment',
  'options' => array(
    'route' => 'search[/:query][/:page]'

params()然后,您可以使用控制器中的操作助手解析查询参数:

$query = $this->params()->fromRoute('query');
$page = $this->params()->fromRoute('page');

在您的视图中,您可以使用url()视图助手来构建具有相同路由定义的 url:

$this->url('search', array('query' => 'test', 'page' => '1'));

只需使用 GET 请求。这里不需要 POST 请求。

希望有帮助!

最好的问候,尤尔根

于 2013-06-15T16:36:46.257 回答