首页 文章

Laravel新项目路由不起作用?

提问于
浏览
0

Laravel新项目路由不起作用?这是routes.php文件:

<?php

Route::get('/', function () {
    return view('welcome');
});

Route::get('ID/{id}',function($id){
    echo 'ID: '.$id;
});

Route::get('/user/{name?}',function($name = 'Virat Gandhi'){
    echo "Name: ".$name;
});

所以我所做的就是这个 . 我用:php artisan serve启动了本地laravel开发服务器 . 就像这本书告诉我,我正在经历(Laravel 5) . 但现在只有第一个路由工作'/',它使用欢迎视图刀片模板 .

但所有其他路线都不起作用 . <

有人可以帮帮我吗?我被卡住了 .

我的app / public / htacess文件:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

4 回答

  • 0

    我尝试了你所有的路线它工作正常 .

    注意:路由区分大小写,请确保您访问的路由与您在route.php中提到的路径相同

    我试过以下路线:

    http://localhost:8000/user/1
    return :Name: 1
    
    http://localhost:8000/ID/1
    return  :ID: 1
    
  • 0

    你必须使用 return 而不是 echo

    像这样:

    Route::get('ID/{id}', function($id) {
        return 'ID: ' . $id;
    });
    
  • 0

    我尝试了你所有的路线它工作正常 .

    注意:路由区分大小写,请确保您访问的路由与您在route.php中提到的路径相同

    我试过以下路线:

    http://localhost:8000/user/1
    return :Name: 1
    
    http://localhost:8000/ID/1
    return  :ID: 1
    

    Note : make sure you run apache & mysql services from xamp before you serve you project.

  • 0

    对不起,我无法在上面的评论中说出这一点,因为我没有足够的代表 .

    我认为问题在于您混合使用的服务器 . 首先尝试启动LAMP服务器并启动apache和mysql . 由于您已经说过LAMP启动的apache指向端口80,因此您可以尝试直接在浏览器上访问它(例如http://localhost/yourproject/public/user/1) .

    我猜你自己使用LAMP,你的项目是在www根下 . 这就是为什么我已经进入访问用户路线的完整路径 .

相关问题