我的本地和服务器计算机上都有apache 2.4
,本地一台ubuntu 12.04
服务器使用Centos 7
。我尝试将'/ var / www / html / projectx'目录中的旧fuzybox
框架与'/ var / www / html / projectx / api'目录中的laravel 5.2框架结合起来。
项目目录:
服务器公用文件夹中的本地laravel
/var/www/html/api/
远程laravel
/var/www/html/projectx/api/
权限设置777用于测试:
[user@xxx]# ls -l /var/www/html/projectx/api/ total 184 ... drwxrwxrwx 2 root root 4096 2016-04-13 13:22 public ...
我的'projectx.com'网址打开fuzybox应用,当我转到网址projectx.com/api
我得到api目录文件和文件夹列表,它显示http服务器工作,我可以到达api目录,但是当我去到projectx.com/api/public
我收到错误500.在我的本地机器上,每个工作都正常。
虚拟主机配置:
<VirtualHost *:80>
ServerName projectx.com
ServerAlias projectx.com
DocumentRoot /var/www/html/projectx
ErrorLog /var/www/html/projectx/error.log
CustomLog /var/www/html/projectx/requests.log combined
</VirtualHost>
我也尝试了底部虚拟配置,但在转到projectx.com
时出现了500错误:
<VirtualHost *:80>
ServerName projectx.com
ServerAlias projectx.com
DocumentRoot /var/www/html/projectx/api/public
ErrorLog /var/www/html/projectx/error.log
CustomLog /var/www/html/projectx/requests.log combined
</VirtualHost>
答案 0 :(得分:0)
您需要将Web服务器指向public
目录以使Laravel正常工作。例如,如果您将Laravel安装到/var/www/html/projectx/api/
目录中,则可以使用这些Apache设置。
DocumentRoot "/var/www/html/projectx/api/public"
<Directory "/var/www/html/projectx/api/public">
不要忘记在这些更改后重启Apache。
然后只为您的API使用简单路线:
Route::get('api/getSomething', 'ApiController@getSomething');
并使用与此类似的网址:
projectx.com/api/getSomething