26

我升级到 Ubuntu 13.10。刚开始更新后运行apache时,文件丢失/损坏,所以我只是重新安装了apache。我备份了虚拟主机文件。

尝试从浏览器访问我的 Laravel 项目时,出现 403 错误。我已经多次更改了根文件夹的权限,但仍然是禁止的。我不相信这是一个 laravel 问题,因为我已经在 13.04 上修复了它,而且我使用的是相同的文件。

这是我的 000-default.conf 文件,位于 /sites-enabled 和 /sites-available 中。我的 apache2.conf 文件自安装以来没有改变。

<VirtualHost *:80>
    DocumentRoot /home/brennan/development/MasonACM/public

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /home/brennan/development/MasonACM/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined
</VirtualHost>

还应该注意的是,我的 .htaccess 文件没有丢失,并且自该站点在 13.04 上运行以来没有更改。

更新:

我现在可以使用 apache 的主机设置,但是现在浏览器正在显示 index.php 的实际代码,这意味着 apache 出于某种原因没有使用 php。我刚刚检查了 php 是否已安装,那么为什么 apache 不能识别它呢?

4

3 回答 3

53

Apache2 可能也升级到了 version 2.4,有几点需要注意。

首先,你现在有 Apache 2.4.x+ 吗?通过运行检查:

$ apache2 -v

如果是这样,您的虚拟主机需要进行一些调整:

第一:+/- 选项:

一些Options参数需要 +/- 语法。在这里阅读更多。在某些指令上混合 +/- 时,这可能尤其重要(阅读上一个链接以查看更多信息)。

改变:

Options Indexes FollowSymLinks MultiViews

至:

Options +Indexes +FollowSymLinks +MultiViews

第二:允许/拒绝

Apache 现在通过mod_authz_host进行访问控制

改变:

Order allow,deny
Allow from all

至:

Require all granted

有关从 Apache 2.2 升级到 2.4 的更多信息。

于 2013-10-20T20:17:29.033 回答
3

我遇到了同样的问题,出于某种原因,使用 Sudo 重新启动 Apache 会有所不同。mods rewrite 和 mcrypt 是否健康?

于 2013-10-20T21:44:08.493 回答
0

我有一个问题,在路由文件(web.php)中我有两条路由(相同的链接)但控制器操作不同。第二个动作是空的,这就是为什么它是空白的。

例如:

Route::get('/route', 'Controller@firstAction');
Route::get('/route', 'Controller@secondAction');
于 2018-10-25T16:41:25.323 回答