Laravel 5.2 显示 apache 屏幕而不是 index.php

Laravel 5.2 shows apache screen instead of index.php

我检查了大部分关于我的问题的问题,因为这对于 Laravel 初学者来说似乎是非常常见的错误,但到目前为止我找不到解决方案:(

我用的是数字海洋VPN,centos7,php5.6,apache,windows 10.

已安装 laravel 并配置 httpd.confmysite.com.conf .htaccesshosts fies 然后重新启动 apache 但仍然没有显示欢迎屏幕,而是显示 apache 屏幕。

+============================================ ======+

这是我的设置...

1) /etc/httpd/conf/httpd.conf

<Directory "/var/www/html">
Options -Indexes +FollowSymLinks
AllowOverride None (default setting)

并在文件末尾下方添加

ServerSignature Off
ServerTokens Prod
IncludeOptional sites-enabled/*.conf

供参考,其他默认设置如下

DocumentRoot "/var/www/html"
<Directory "/var/www">
 AllowOverride None
 Require all granted
</Directory>

2) /etc/httpd/sites-available/mysite.com.conf

<VirtualHost *:80>
ServerAdmin admin@mysite.com
ServerName mysite.com
ServerAlias mysite.com
DocumentRoot /var/www/mysite.com/public_html
ErrorLog /var/log/httpd/mysite.com_error_log
CustomLog /var/log/httpd/mysite.com_access_log combined
AddDefaultCharset UTF-8
<Directory /var/www/mysite.com/public_html>
  <IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
  </IfModule>
  AllowOverride All
</Directory>
</VirtualHost>

3) /var/www/mysite.com/public_html/.htaccess

<IfModule mod_rewrite.c>
 <IfModule mod_negotiation.c>
  Options -MultiViews
 </IfModule>
 RewriteEngine On
 RewriteRule ^(.*)/$ / [L,R=301]
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^ index.php [L]
</IfModule>

4) C:/windows/system32/drivers/etc/hosts

digitaloceanDropletIp mysite.com

5) publi_html 文件夹 img

如果有人能告诉我我的设置有什么问题,我将不胜感激。 提前致谢!

改变

DocumentRoot /var/www/mysite.com/public_html

DocumentRoot /var/www/mysite.com/public_html/public

然后重启你的apache

[解决方案]

在好心人的帮助下,我终于成功展示了Laravel标志!愚蠢的是我没有意识到 index.php 在 public 文件夹中!

我保持 httpd.conf 和主机与上面相同,但在下面更改 mysite.com.conf 并完全 removed/deleted public_html/.htaccess(我将来可能需要它,但是这个我不需要的舞台)。

<VirtualHost *:80>
ServerName mysite.com
ServerAlias mysite.com
ServerAdmin admin@mysite.com
DocumentRoot "/var/www/mysite.com/public_html/public"
ErrorLog /var/log/httpd/mysite.com_error_log
CustomLog /var/log/httpd/mysite.com_access_log combined
AddDefaultCharset UTF-8
 <Directory "/var/www/mysite.com/public_html/public">
  AllowOverride All
 </Directory>
</VirtualHost>

此更改后,出现 403 错误(apache 似乎会发生这种情况)所以我在 public/.htaccess 中的 'RewriteEngine On' 之前添加了以下行参考:非英文网站

Options +FollowSymLinks

然后出现 500 错误,所以我使用 putty 作为 blow 命令(我不得不这样做,即使我以前做过 'chmod 777 storage')参考:Laravel 空白屏幕。

chmod -R guo+w storage

然后终于 'Laravel' 出现了 :) 无论如何感谢所有帮助!