【问题标题】:Localhost Error with Laravel 5.1 on Ubuntu 14.04Ubuntu 14.04 上的 Laravel 5.1 本地主机错误
【发布时间】:2016-02-21 23:32:30
【问题描述】:

在这里看过以前的文章,但没有运气。我刚刚通过 composer 安装了 Laravel 5.1。我一直在关注位于here 的官方安装文档。我没有使用宅基地,也没有使用虚拟环境。虽然一切正常,但我无法将项目托管在我的网络服务器上。虽然常规的 PHP 文件很容易托管并且可以通过我的 localhost 访问,但通过我的 localhost 访问 Laravel 的公共文件夹会给我一个 500 内部服务器错误。按照教程,我的 public/.htaccess 文件有以下内容。

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

我的错误日志最近的条目如下。

[Thu Nov 19 22:25:10.012710 2015] [core:alert] [pid 6461] [client 127.0.0.1:43086] /var/www/html/blog/public/.htaccess: Options not allowed here

至于权限,我已授予对 Laravel 应用程序文件夹中所有文件和文件夹的权限。我在我的机器上运行 Apache/2.4.7 (Ubuntu) 和 PHP 5.5.9-1ubuntu4.14。

如果您需要任何其他信息,请告诉我。任何帮助将不胜感激!

编辑:

通过在我的 apache2.conf 中添加以下内容解决了问题:

<Directory />
      AllowOverride All
</Directory>

谢谢大家。

【问题讨论】:

    标签: php apache .htaccess laravel-5.1


    【解决方案1】:

    您一定错过了配置文件中的配置。最好的测试方法是从你的 htaccess 文件中删除这一行。

    Options +FollowSymLinks
    

    那就试试吧。

    确保您的 apache2.conf 提供了所有选项。有时你会遇到这样的事情

    AllowOverride FileInfo AuthConfig Limit Indexes
    

    如果是这种情况,请将其更改为

    AllowOverride All

    编辑:

    所以在你的 .htaccess 文件中你可以拥有。

    DirectoryIndex index.php
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    

    【讨论】:

    • 照你说的做,谢谢。但我仍然收到相同的内部服务器错误。日志现在显示“[Wed Nov 18 09:38:47.808742 2015] [autoindex:error] [pid 1747] [client 127.0.0.1:11626] AH01276: 无法提供目录 /var/www/html/blog/: 没有匹配找到 DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm),并且服务器生成的目录索引被 Options 指令禁止”
    • 这不是 same 错误。它说的是完全不同的东西。因此,您似乎解决了 AllowOverride All 的第一个问题。现在尝试在 .htaccess 文件的顶部添加此 DirectoryIndex index.php
    猜你喜欢
    • 2015-11-14
    • 2016-01-16
    • 2016-02-23
    • 1970-01-01
    • 2015-05-24
    • 2016-06-07
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    相关资源
    最近更新 更多