首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何避免在Laravel中使用URL参数?

如何避免在Laravel中使用URL参数?
EN

Stack Overflow用户
提问于 2019-06-11 15:41:13
回答 1查看 444关注 0票数 1

我有一个页面在索引视图中列出视频。这个视图可以通过几个指标过滤,比如“最新视频第一”和“排名最高的视频第一”。用户可以从这些选项中进行选择。

过滤器信息存储在用户会话中。要控制会话参数,有不同的路由,当用户单击筛选按钮时,会调用这些路由,如“domain.com/视频/最新”或“domain.com/视频/排名”。

取决于调用哪个路由,服务器更改会话参数。

事实上,呈现相同的页面,但视频按不同的顺序列出。这导致重复的页面标题,元描述和诸如此类的事情。应该避免这种情况。我想有一个路线“domain.com/视频”,没有额外的过滤器控制参数。

显然,有不同的办法:

  1. 坚持当前的解决方案,提供不同的路径,导致相同的呈现页面,并处理重复的内容。
  2. 使用像domain.com/videos?filter=newest这样的GET参数,从SEO的角度来看也不是很好。
  3. 使用Cookies将信息存储在每个Requestheader中,这就导致我需要Cookie协议消息,并使页面体验变得丑陋。
  4. ..。

是否有解决上述问题的建议?

更新

@Tim建议(非常感谢您的答复):

如果不需要URL参数,可以执行POST请求,将这些过滤器/搜索/排序值存储在Laravel的会话中,然后在GET请求中引用它们;$sort = session ()->get(“排序”);或类似的。它们不会出现在URL中,SEO唯一知道的页面是domain.com/视频

还有更多的人来确认吗?

EN

回答 1

Stack Overflow用户

发布于 2019-06-11 17:15:36

与其担心GET参数,不如为视频页面设置一个规范链接,将其输出到所有过滤过的路由上:

代码语言:javascript
运行
复制
<link rel="canonical" href="http://example.com/videos">

这将防止对相同内容的其他视图进行索引。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56547303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档