无法查看或访问Laravel的公用文件夹

时间:2014-05-20 13:09:44

标签: php laravel fedora

在Fedora 20上,我创建了一个名为test的文件夹,然后通过composer create-project laravel/laravel将Laravel安装到其中。它成功运行,现在我尝试在以下URL中的FireFox中查看它:

http://localhost/~username/test/laravel/public/

但它会引发以下错误:

  

内部服务器错误

     

服务器遇到内部错误或配置错误,无法完成您的请求。

     

请与root @ localhost上的服务器管理员联系,告知他们此错误发生的时间以及您在此错误发生之前执行的操作。

     

服务器错误日志中可能提供了有关此错误的更多信息。

如果我转到父文件夹,我可以看到除了public文件夹之外的所有内容都存在。但是,如果我在终端中ls,我可以看到文件夹就在那边。只有这个项目的其他PHP脚本没有问题。我尝试使用文件夹权限但没有成功。为什么我无法在浏览器中看到该文件夹​​,为什么在我尝试访问它时会抛出错误500?

1 个答案:

答案 0 :(得分:3)

调试

在我查看/var/log/httpd/error_log之后,我在最后一行看到了以下内容:

  

[Tue May 20 09:37:21.874443 2014] [core:alert] [pid 2897] [client :: 1:55498]
  /home/username/public_html/test/laravel/public/.htaccess
  此处不允许使用选项,引用:http://localhost/~username/test/

让事情有效

因此,在我的public文件夹中,我将.htaccess文件重命名为.htaccess2,现在它可以正常工作了。当然现在我需要在URL中index.php之后写public/,但至少它可以正常工作。这也解决了隐形文件夹错误,因此如果我在浏览器中转到项目根目录(public的父文件夹),它也会列出public文件夹。

尝试修复它

httpd.conf文件中的

According to this answer配置可被其他额外文件覆盖。您应该在这些文件中搜索包含AllowOverride的{​​{1}}行,并将其替换为AllowOverride AuthConfig FileInfo