未找到Laravel页面

时间:2018-03-05 13:22:45

标签: laravel

当我使用server.php文件打开网站时,会显示我的索引页面(index.blade.php),并且该页面上的链接到列表页面(list.blade.php)会成功打开。当我通过server.php访问时,我遇到了识别我的javascript文件的问题?但是,如果我打开公共文件夹,它会将我放在我的索引页面并且javascript文件被识别...

当我打开公共文件夹,然后点击列表链接时,我收到“抱歉,找不到您要查找的页面。”

web.php

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

Route::get('list', 'IngredientsController@display');

IngredientsController

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Ingredient;

class IngredientsController extends Controller
{
    /* Displays list of ingredients in db */
    public function display()
    {
        $ingredients = Ingredient::all();
        return view('list', compact('ingredients'));
    }

}

为ingredient.php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Ingredient extends Model
{

}

将索引页面链接到列表页面:<a href="{{ url('list') }}">List url</a>

htaccess的

<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>

2 个答案:

答案 0 :(得分:0)

Laravel不使用root来包含文件。所以是的,你的IDEA看到你的文件包含正确但laravel它没有。

看到这篇文章的答案: https://stackoverflow.com/a/28915577/5334073

Laravel使用公用文件夹作为“root”文件夹。这就是Laravel的工作方式。要调用该根,您应该使用URL :: assets函数来解释我给你的帖子的答案。

答案 1 :(得分:0)

高于RewriteEngine On我将Options +FollowSymLinksRewriteRule ^ index.php [L]放在RewriteBase /nameoflaravelproject/public/以上liftPredMaybe :: (a -> Bool) -> a -> Maybe a liftPredMaybe p a | p a = Just a | otherwise = Nothing

我添加了这两行代码并且它有效。对不起,我真的不明白这一点,如果有人可以解释为其他用户提供更好的资源,那就太好了。