我有一个页面以索引视图列出视频。 该视图可通过多个指标过滤,例如“最新视频优先”和“排名最高的视频优先”。用户可以从以下选项之一进行选择。
过滤器信息存储在用户会话中。要控制会话参数,有不同的路由,当用户单击过滤器按钮时会调用这些路由,例如“ domain.com/videos/newest”或“ domain.com/videos/ranking”。
服务器会根据调用哪个路由来更改会话参数。
事实上,SAME页面已呈现,但视频以不同顺序列出。这导致重复的页面标题,元描述和类似的东西。应该避免这种情况。我想要一个路由“ domain.com/videos”,而没有其他过滤器控制参数。
显然有不同的方法:
跟踪当前解决方案,提供不同的路由,这些路由通向相同的渲染页面,并处理重复的内容。
使用domain.com/videos?filter=newest
之类的GET参数,从SEO角度来看也不是很好。
使用Cookie将信息存储在每个Requestheader中,这导致我需要Cookie协议消息,并使页面体验变得难看。
...
是否有解决上述问题的建议?
更新
@Tim Lewis建议(非常感谢您的答复):
如果您不需要URL参数,则可以执行POST请求,以将这些过滤器/搜索/排序值存储在Laravel的会话中,然后在GET请求中引用它们; $ sort = session()-> get(“ sort”);或类似。它们不会显示在URL中,SEO唯一知道的页面就是domain.com/videos
还有更多的人对此进行确认吗?