我在我的服务器的根目录上安装了WordPress,并且我有一个子文件夹,其中使用官方的Laravel安装程序安装Laravel。当我尝试使用http://localhost/Laravel/进行访问时,我会收到一个Http 500
状态代码
我尝试了以下内容:
sudo chown www-data:www-data -R *
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
我还将Laravel/config/app.php
设置为:
'debug' => env('APP_DEBUG', true),
和
'url' => env('APP_URL', 'http://localhost/Laravel
但我仍然得到500
。
我也见过this question,但就我而言,情况恰恰相反。我有Wordpress和Laravel作为子文件夹,而不是这个问题中的情况。
答案 0 :(得分:0)
您使用的是Apache还是Nginx?如果是Apache,则需要配置vhost文件以从子文件夹中提供Laravel。特别是,您需要配置在请求host.com/laravel
URI时,应使用/home/host.com/laravel/public
目录(基本上不同的根/本地位置)来提供它。
您还需要使用mod_rewrite
重写您对来自上述位置的index.php
提供的子文件夹的URL请求(以及美化网址)。
以上应该可以很好地工作,因为它在Nginx中完成相同的方式,为此我已经包含了一个完整的示例,说明其conf文件应该是什么样的
以下是我如何设置我的location
块,这对我来说非常有用:
location ^~ /facebookschedule {
alias /home/netcans/facebookschedule/public;
try_files $uri $uri/ @foobar;
location ~ \.php {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(.*)$;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/wwww/facebookschedule/public/index.php;
}
}
location @foobar {
rewrite /facebookschedule/(.*)$ /facebookschedule/index.php?/$1 last;
}
来源:http://shubhank.gaur.io/setup-laravel-5-in-subfolder-with-nginx/
答案 1 :(得分:0)
我遇到了同样的问题,运行这两个命令修复了它:
sudo chmod 755 -R Laravel
chmod -R o+w Laravel/storage
这是假设Laravel是项目名称,否则只需将其更改为您命名为项目的任何名称。