【发布时间】:2016-08-24 21:10:14
【问题描述】:
我有一个简单的routes.php 文件,如下所示:
Route::group(['middleware' => 'cors', 'prefix' => 'api'], function () {
Route::post('users', 'Api\UsersController@save');
Route::get('users/{userId}/leagues/', 'Api\UsersController@saveFavoriteLeague');
});
一旦我将我的应用程序放到服务器上,我就无法访问任何已执行的路由。我遇到了 404 异常。
我试图通过将123 放在文件顶部来在routes.php 文件中犯一个明显的错误。然后我点击mydomain.com/users/1/leagues,我期待错误页面,有语法错误,但没有发生(仍然得到 404)。
但是,当添加这样的内容时:
Route::get('/', function() {
return 'Hello';
});
然后点击主路由mydomain.com,我首先看到了语法错误,然后在修复它之后,Hello。
我花了几个小时才发现远程服务器上没有启用 mod_rewrite。
有人可以对此进行更多说明吗?
为什么我的请求没有到达routes.php(甚至没有显示存在语法错误),而是返回了 404 页面。为什么 mod_rewrite 让它工作? / 怎么可能到达 route.php,但是 /users 例如没有?
谢谢!
【问题讨论】:
标签: apache .htaccess mod-rewrite laravel-5 routing