我已将我的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个小时里,我对此感到困惑
答案 0 :(得分:0)
也许确保文件夹的权限是正确的。例如,我认为“存储”必须具有更宽松的权限(777,755左右)。经常通过FTP上传会丢失附加到文件夹的权限。
转到laravel安装的根目录并运行以下命令:
chmod -R 777 storage
存储目录包含已编译的刀片模板,基于文件的会话,文件缓存以及Laravel生成的其他文件。因此,如果您没有正确的读/写权限,则会导致500内部服务器错误
根据this,以下命令将修复IIS7上的权限问题
cacls laravel /t /g everyone:f