Windows共享主机上的index.php上的Laravel 500内部服务器错误

时间:2017-02-15 09:48:06

标签: laravel laravel-5.2

我已将我的laravel项目上传到托管中。我的文件夹结构如下所示

-httpdocs
 -app
 -config
 -resources
 -database
 -contents of public folder(htaccess,index.php etc.)
 -storage
 -vendors

我已移动公用文件夹的内容和子文件夹。现在,当我访问我的网站www.something.com时,我收到内部服务器错误。我试图删除index.php(此文件从公共文件夹移动到httpdocs)并替换为index.html。当我访问我的网站时,我能够看到该页面。但当用index.php替换时,我得到内部服务器错误。

我已经像这样改变了一些index.php文件

require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';

这是我的htaccess文件

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

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

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

是否因为bootstrap文件夹的许可而发生?或问题背后的任何猜测?在过去的3个小时里,我对此感到困惑

1 个答案:

答案 0 :(得分:0)

Linux服务器

也许确保文件夹的权限是正确的。例如,我认为“存储”必须具有更宽松的权限(777,755左右)。经常通过FTP上传会丢失附加到文件夹的权限。

转到laravel安装的根目录并运行以下命令:

chmod -R 777 storage

存储目录包含已编译的刀片模板,基于文件的会话,文件缓存以及Laravel生成的其他文件。因此,如果您没有正确的读/写权限,则会导致500内部服务器错误

Windows服务器

根据this,以下命令将修复IIS7上的权限问题

cacls laravel /t /g everyone:f