如何处理网站上的相关链接?

时间:2017-07-27 11:32:39

标签: http request

Mojolicious不区分这两个要求:

GET /page
GET /page/

呈现相同的页面。

但是当渲染页面有相对链接时,你可以进入下一个陷阱。

例如,如果您的page有:

<a href="trap">Trap</a>

如果您先点击它,请转到/trap页面 但是当您点击第二次请求时,您将转到/page/trap页面。

我们应该对此采取措施还是保留原样?

1 个答案:

答案 0 :(得分:0)

您始终只需将尾部斜杠重定向到非尾部斜杠网址即可。我不确定100%最佳解决方案是什么,但是

$self->redirect_to(
  $self->url_with->path($self->url_for->path->trailing_slash(0)))
  and return
  if $self->req->url->path->trailing_slash;

可以使用。

这种方式/ page /是302重定向到/ page和/ page显示链接,所以它总是一致的。

我同意@Logioniz,但这不​​是一个真正的Mojolicious问题。