繁体   English   中英

Laravel路由在localhost上有效,但在IP地址上无效

[英]Laravel routes work on localhost but not on IP address

我有一个今天早上才出现的问题。 我正在使用Laravel 5.2编写大型应用程序。 我正在Windows 7计算机上使用Aptana Studio 3和UwAmp wamp服务器进行开发。 我花了两个月的时间来开发,直到今天为止一切都很好。 访问http:// localhost /时,以及使用来自我的PC和网络上其他PC的PC IP地址时,我都可以完全使用我的站点。 我最近的子项目是使用大量AJAX的网站内置的聊天客户端。 我专门制作了一个控制器来处理聊天AJAX和相应的路由。 从今天早上开始,在http:// localhost /上一切正常,但是当我尝试使用IP地址(从我的开发PC或网络上的其他PC)访问时,我只能访问我的根页面(“ /路线)。 所有其他路由(包括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

弄清楚了。 而且我很沮丧。 显然,Laravel路由区分大小写。 当我在地址栏中输入URL时,我使用的是小写字母。 我的坏家伙,但是还是谢谢您的帮助。 感谢您抽出宝贵时间考虑我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM