发现问题
最近在做项目发现一个奇怪的现象,我的路由配置里有如下配置:
Route::group(array('prefix'=>'admin','before'=>'adminauth'),function(){
// 管理员登录
Route::get('/',function(){
return Redirect::to('admin/login');
});
Route::get('login','UserController@adminLogin');
}
目的是无论用户输入”admin”,还是”admin/login”都能跳转到登录界面。然而现实情况是输入”admin”之后,浏览器会无限重定向,firebug记录如下:
GET /public/admin/ 301 Moved Permanently
GET admin 301 Moved Permanently
GET admin 301 Moved Permanently
GET /public/admin/ 301 Moved Permanently
GET admin 301 Moved Permanently
GET /public/admin/ 301 Moved Permanently
GET admin 301 Moved Permanently
.... 经过一番搜索后试验,终于得出结论,问题有两点:
1.public目录下正好有个admin目录,存放后台相关js和css
2.laravel自带的.htaccess的这样一条规则:
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /public/$1 [L,R=301] #注意这条