遇到的问题:
我的thinkphp5网站添加了以下路由别名:
Route::alias([
'index'=>'index/index',
]);
使用http://域名/Index/user/password.html访问正常
但使用http://域名/index/user/password.html就访问失败
使用$this->success('修改密码成功');进行提示跳转,默认是会跳转到小写字母开头的模块,即会跳转到http://域名/index/user/password.html
解决方案:
方法一:在$this->success()里添加url参数,如下:
$this->success('修改密码成功',url('@Index/User/password'));
这种方法比较麻烦,不能一劳永逸。
方法二:修改框架文件thinkphp/library/traits/controller/Jump.php,在success()函数中添加如下代码,对url进行驼峰处理。
/*--- 进行驼峰处理,解决“使用路由别名后,小写字母开头的模块访问不了”问题 ---*/
$array = explode('/' , $url);
foreach($array as $key=>$val){
$array[$key] = ucfirst($val);
}
$url = implode('/' , $array);
/*------------------------------------------------------------------*/