关于Laravel Route重定向的一个注意点
Laravel  /  管理员 发布于 8年前   167
发现问题 最近在做项目发现一个奇怪的现象,我的路由配置里有如下配置: 目的是无论用户输入”admin”,还是”admin/login”都能跳转到登录界面。然而现实情况是输入”admin”之后,浏览器会无限重定向,firebug记录如下: 经过一番搜索后试验,终于得出结论,问题有两点: 1.public目录下正好有个admin目录,存放后台相关js和css 2.laravel自带的.htaccess的这样一条规则: 解释一下原理: 访问public/admin目录时,apache会自动转成”public/admin/”的形式,而这种形式正好符合重写的规则,又被重写回”public/admin”的形式。因为public/admin目录确实存在,所以请求根本不会到达index.php。 所以故事就是这样,因为301那条规则的存在,无限重定向产生了。 解决方案: 1.不要把public目录下已有的目录名做为路由地址 2.301规则前加一条”RewriteCond %{REQUEST_FILENAME} !-d”,但是这样会使该目录被直接访问。建议生产环境中关掉apache的autoindex模块(呃,我发现我用的wamp关掉这个模块apache就启动不了了- -!)。 补充: 经过一些实验,建议将.htaccess文件改成如下: 总结 以上就是关于Laravel Route重定向的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。Route::group(array('prefix'=>'admin','before'=>'adminauth'),function(){ // 管理员登录 Route::get('/',function(){ return Redirect::to('admin/login'); }); Route::get('login','UserController@adminLogin');}
GET /public/admin/ 301 Moved Permanently GET admin 301 Moved PermanentlyGET admin 301 Moved PermanentlyGET /public/admin/ 301 Moved PermanentlyGET admin 301 Moved PermanentlyGET /public/admin/ 301 Moved PermanentlyGET admin 301 Moved Permanently....
RewriteEngine On# Redirect Trailing Slashes...RewriteRule ^(.*)/$ /public/$1 [L,R=301] #注意这条 # Handle Front Controller...RewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^ index.php [L]
RewriteEngine On# Redirect Trailing Slashes...RewriteCond %{REQUEST_FILENAME} !-d #防止真实目录导致循环重定向RewriteRule ^(.*)/$ /public/$1 [L,R=301] # Handle Front Controller...#RewriteCond %{REQUEST_FILENAME} !-d #防止用户直接打开真实目录RewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^ index.php [L]
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号