Laravel 5用尾部斜线分页重定向到301

时间:2015-06-15 04:21:41

标签: php laravel redirect pagination laravel-5

我使用Laravel 5并注意到分页在?page=#之前添加了一个尾部斜杠,并且它总是重定向到301页。

http://example.com/news/articles/?page=2将执行301重定向到http://example.com/news/articles?page=2

这导致我使用ajax减速,因为它有2个响应。

如何让laravel接受http://example.com/news/articles/?page=2,以便它不会进行301重定向?

我是通过使用LengthAwarePaginator的{​​{3}}网站开始的。

3 个答案:

答案 0 :(得分:4)

如果你查看app/public/.htaccess文件,你会看到这一行:

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

通过删除它,您将禁用尾部斜杠重定向。

答案 1 :(得分:1)

我会在我的控制器中执行此操作,而不是修改.htaccess

    $posts= Article::latest()->paginate(4);
    $posts->setPath('');//just add this line after your paginate function

或某些用户可能更愿意在视图中生成链接时添加此行

$links = str_replace('/?', '?', $posts->render());

答案 2 :(得分:0)

@shaddys答案是最合适的解决方案,但由于其他路线我无法使用它。所以我就这样做了

$.ajax({
     url: url.replace('/?','?'),
      ....
});

通过这种方式,您将获得工作分页,无需重定向。