Laravel新项目路由不起作用?

时间:2018-03-19 09:18:31

标签: php laravel laravel-5 laravel-5.6

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)。但现在只有第一个路由工作'/',它使用欢迎视图刀片模板。

但所有其他路线都不起作用&gt;。&lt;

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

我的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 :(得分:0)

我尝试了所有路线,但工作正常。

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

我尝试了以下路线:

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

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

答案 1 :(得分:0)

您必须使用return而不是echo

像这样:

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

答案 2 :(得分:0)

我尝试了所有可以正常工作的路线。

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

我尝试了以下路线:

out = pd.DataFrame({ 'Date': pd.to_datetime(['2015-01-01','2015-05-01','2015-07-01','2015-10-01','2015-04-01','2015-12-01','2016-01-01','2016-02-01','2015-05-01', '2015-10-01']), 'Churn': ['Yes'] * 8 + ['No'] * 2 })
print (out)
  Churn       Date
0   Yes 2015-01-01
1   Yes 2015-05-01
2   Yes 2015-07-01
3   Yes 2015-10-01
4   Yes 2015-04-01
5   Yes 2015-12-01
6   Yes 2016-01-01
7   Yes 2016-02-01
8    No 2015-05-01
9    No 2015-10-01

注意:确保运行apache&amp;在为项目服务之前,来自xamp的mysql服务。

答案 3 :(得分:0)

很抱歉,我无法在上面的评论中说出这一点,因为我没有足够的代表。

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

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