laravel 5仅根路由有效 - php

我是Laravel的新手。我正在使用Ubuntu 15.04。我使用composer安装了Laravel Framework 5.1.7(LTS)版本,并使用$ sudo apt-get install lamp-server^命令安装了一个灯泡服务器(我没有安装Homestead)。我正在使用PhpStorm 8.0.3作为IDE。

我创建了三个路由和一个控制器。 PagesController.php文件如下所示:

class PagesController extends Controller
{
    public function index()
    {
        return 'Welcome to my homepage!';
    }

    public function about()
    {
        return 'Learn a little about me.';
    }

    public function hello()
    {
        return 'Hello World!';
    }
}

routes.php看起来像这样:

Route::get('/', 'PagesController@index');

Route::get('about', 'PagesController@about');

Route::get('hello', 'PagesController@hello');

每当我转到http://localhost:63342/my-first-app/public/(或http://localhost:63342/my-first-app/public/index.php)时,它都可以正常工作并显示Welcome to my homepage!消息。但是每当我转到http://localhost:63342/my-first-app/public/hellohttp://localhost:63342/my-first-app/public/about时,我得到的都是404 Not Found消息。

另外,位于.htaccessmy-first-app/public文件如下所示:

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

    RewriteEngine On

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

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

我尝试过的

我尝试了http://localhost:63342/my-first-app/public/index.php/hellohttp://localhost:63342/my-first-app/public/index.php/about,但是它也不起作用。
我输入了命令sudo a2enmod rewrite,然后输入了sudo service apache2 restart,但是它也不起作用。
我尝试了composer dump-autoload,但它也不起作用。
我将AllowOverrideNone更改为All。现在它的一部分看起来像这样:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride All
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

<Directory /srv/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

但它也不能解决问题。

更新(7/15/2015):

运行apache2.conf的结果如下所示:

+--------+----------+-------+------+--------------------------------------------+------------+
| Domain | Method   | URI   | Name | Action                                     | Middleware |
+--------+----------+-------+------+--------------------------------------------+------------+
|        | GET|HEAD | /     |      | App\Http\Controllers\PagesController@index |            |
|        | GET|HEAD | about |      | App\Http\Controllers\PagesController@about |            |
|        | GET|HEAD | hello |      | App\Http\Controllers\PagesController@hello |            |
+--------+----------+-------+------+--------------------------------------------+------------+

参考方案

启用apache2重写模块:

sudo a2enmod rewrite

然后重新启动apache2服务器:

sudo service apache2 restart

并确保AllowOverride All到您的apache2配置文件。

检查对象是否已在集合中-Laravel - php

当我循环一系列不同的结果时,我希望将对象添加到新集合中。查询:$osRed = Item::where('category', 'Hardware') ->where(function ($query) { $query->where('operating_system', '…

PHP Laravel从另一个驱动器读取文件 - php

我目前正在学习Laravel。我想知道是否有一种方法可以在Laravel中使用Storage::从另一个硬盘访问文件(使用Windows)。例如,我在驱动器C:上安装了带有Laravel的Xampp,但是我想访问网站目录之外的E:上的文件。我试过使用Storage::files('E:')和File::files('E:…

laravel Hash::make继续给出不同的结果 - php

我想在laravel 4中使用身份验证我改了桌子和莫贝尔的名字当用户注册时,我拥有密码并将其保存,哈希为:$password = Hash::make(Input::get('password')); 然后当用户登录时,我想先对他/她进行身份验证。我这样做是这样的:if (Auth::attempt(array('usernam…

Laravel迁移外键 - php

我正在尝试在Laravel中建立一些关系,我对关系和迁移有些困惑。这是我正在做的一个简单示例:Users -> has_many -> Cats 因此,我的用户迁移文件与Cats的关系如下:$table->foreign('cats_id')->references('id')->on(&…

Laravel 5错误报告抑制 - php

在Laravel 4中,抑制E_NOTICE消息很容易;我似乎无法做到这一点,因为如果我添加error_reporting(E_ALL ^ E_NOTICE) 它只是被覆盖的任何地方。这似乎发生在这里:(index.php)$response = $kernel->handle( $request = Illuminate\Http\Request::…