Ubuntu 14.04上Laravel 5.1的Localhost错误


Localhost Error with Laravel 5.1 on Ubuntu 14.04

已经看过这里以前的文章,但运气不佳。我刚刚通过composer安装了Laravel 5.1。我一直在遵循官方的安装文档,位于这里。我没有使用宅地,也没有使用虚拟环境。虽然一切都很好,但我在网络服务器上托管项目时遇到了问题。虽然普通的PHP文件很容易托管,并且可以通过我的localhost访问,但通过我的本地主机访问Laravel的公共文件夹会导致500内部服务器错误。根据教程,我的公共/.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>

谢谢大家。

您的配置文件中一定遗漏了一个配置。最好的测试方法是从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]