【发布时间】:2015-12-20 14:13:48
【问题描述】:
我已将 laravel 安装在名为 march_madness 的目录中。
我已经设置了一些基本的控制器,例如 UsersController 和 SessionsController。
例如,当我转到domain.com/march_madness/login 时,它会打开一个登录表单,因为我的routes.php 中有这个:
Route::get('login', 'SessionsController@create');
但是,对于users,我有一个问题,其中包括以下内容 - 当我导航到 domain.com/march_madness/users,而不是使用用户控制器的 index() 方法时,它重定向到 domain.com/users(不知何故删除了march_madness 来自 URL)。
这是我的routes.php 中与用户相关的部分:
Route::get('register', 'UsersController@create');
Route::resource('users', 'UsersController');
Route::get('memberhome', 'UsersController@area');
Route::get('users/verify/{code}', 'UsersController@verify');
这是UsersController.php的相关部分:
class UsersController extends \BaseController {
protected $user;
public function __construct(User $user)
{
$this->user = $user;
}
public function index()
{
return "test";
}
...
}
如果我将 return "test"; 替换为其他任何内容(例如从数据库中获取用户记录),则没有任何变化,它仍然只是重定向。
.htaccess 中的任何内容我都没有更改。
有什么想法吗?
【问题讨论】:
-
您在应用配置中正确设置了您的网址吗?
-
是的,正如我所说,所有其他 URL 都可以正常工作,只是不是这个。例如 /march_madness/sessions 将正确打开会话控制器的 index() 方法。
-
访问
domain.com/march_madness/users时的响应顺序是什么?这可能会提供线索。使用浏览器调试工具的网络选项卡或 Apache 的访问日志。 -
重定向通常不会发生在 Laravel 中,它们通常发生在 Apache 中。当您点击 URL 时,您的 apache 日志文件会显示什么内容?
-
我确信默认情况下 Laravel 4 有一些用于用户身份验证的“过滤器”设置。这些过滤器之一可能正在捕获您的请求并将其重定向。
标签: php laravel laravel-4 laravel-routing