已经看过这里以前的文章,但运气不佳。我刚刚通过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]