我使用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}}网站开始的。
答案 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('/?','?'),
....
});
通过这种方式,您将获得工作分页,无需重定向。