在Ubuntu 14.04上使用Laravel 5.1的Localhost错误

Izy*_*zy- 6 php apache .htaccess laravel-5.1

看过以前的文章,但没有运气.我刚刚通过作曲家安装了Laravel 5.1.我一直在关注安装的官方文档,位于此处.我没有使用家园,我也没有使用虚拟环境.虽然一切正常,但我在Web服务器上托管项目时遇到了麻烦.虽然常规的PHP文件很容易托管并且可以通过我的localhost访问,但是通过我的localhost访问Laravel的公共文件夹会给我500个内部服务器错误.在本教程之后,我的public/.htaccess文件具有以下内容.

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Run Code Online (Sandbox Code Playgroud)

我的错误日志的最新条目如下.

[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>
Run Code Online (Sandbox Code Playgroud)

感谢大家.

Pan*_*ack 4

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

Options +FollowSymLinks
Run Code Online (Sandbox Code Playgroud)

然后尝试一下。

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

AllowOverride FileInfo AuthConfig Limit Indexes
Run Code Online (Sandbox Code Playgroud)

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

AllowOverride All

编辑:

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

DirectoryIndex index.php
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Run Code Online (Sandbox Code Playgroud)

  • 这不是**相同的**错误。它说的是完全不同的东西。所以看来您解决了AllowOverride All 的第一个问题。现在尝试在 .htaccess 文件的顶部添加此“DirectoryIndex index.php”。 (2认同)