Laravel路由在localhost上工作,但不在IP地址

时间:2016-05-11 17:41:01

标签: php apache url-routing laravel-5.2 laravel-routing

我今天早上出现了一个问题。我正在使用Laravel 5.2编写大型应用程序。我正在使用带有UwAmp wamp服务器的Aptana Studio 3在Windows 7计算机上进行开发。我进入开发的两个月,直到今天一切都运转良好。我在访问http://localhost/时以及在我的PC和网络上的其他PC上使用我的PC的IP地址时,都能够完全使用我的网站。我最近的子项目是使用大量AJAX为我的网站内置的聊天客户端。我专门设计了一个控制器来处理聊天AJAX和相应的路由。从今天早上开始,在http://localhost/上一切正常,但是当我尝试使用IP地址(来自我的开发PC或网络上的其他PC)访问时,我只能访问我的根页面(&#39) ; /'路线)。所有其他路由(包括Laravel提供的Auth路由)都显示以下消息:NotFoundHttpException in RouteCollection.php line 161。 我无法弄清楚我做了什么导致这个。我今天早上花了几个小时搜索我的代码和校对,以确保我没有拼错,忽略大写,或忘记分号。我在互联网上发现的大部分内容都与.htaccess或Apache配置有关。我确定它不是Apache问题,因为它几天前工作正常,错误页面也是标准的灰色Laravel样式错误页面。我已经尝试用artisan清除路由缓存,并且尝试将.env中的APP_URL更改为我的IP地址而不是localhost,但都没有工作。还有其他人遇到过这类问题吗?你能提供任何见解吗?

以下是来自我的routes.php的压缩片段:

Route::get('/', function () {
    return view('welcome');
});
Route::group(['middleware' => 'web'], function () {
    Route::auth();
    //Other routes here
    Route::post('/chat/users_ajax', 'ChatController@users_ajax');
    Route::post('/chat/conversations_ajax', 'ChatController@conversations_ajax');
    Route::post('/chat/start_ajax', 'ChatController@start_ajax');
    Route::post('/chat/get_conversation_ajax', 'ChatController@get_conversation_ajax');
    Route::post('/chat/send_ajax', 'ChatController@send_ajax');
    //More routes here
    Route::get('/auth/login', 'Auth\AuthController@getLogin');
    Route::post('/auth/login', 'Auth\AuthController@postLogin');
    Route::get('/auth/register', 'Auth\AuthController@getRegister');
    Route::post('/auth/register', 'Auth\AuthController@postRegister');
});

这是错误和堆栈跟踪:

NotFoundHttpException in RouteCollection.php line 161:
in RouteCollection.php line 161
at RouteCollection->match(object(Request)) in Router.php line 823
at Router->findRoute(object(Request)) in Router.php line 691
at Router->dispatchToRoute(object(Request)) in Router.php line 675
at Router->dispatch(object(Request)) in Kernel.php line 246
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Kernel.php line 132
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99
at Kernel->handle(object(Request)) in index.php line 54

1 个答案:

答案 0 :(得分:2)

想出来。我非常沮丧。显然Laravel路线区分大小写。当我在地址栏中输入我的URL时,我使用全小写。我的坏人,但无论如何,谢谢你的帮助。我感谢你花时间考虑我的问题。