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.conf、mysite.com.conf、 .htaccess 和 hosts 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' 出现了 :) 无论如何感谢所有帮助!
我检查了大部分关于我的问题的问题,因为这对于 Laravel 初学者来说似乎是非常常见的错误,但到目前为止我找不到解决方案:(
我用的是数字海洋VPN,centos7,php5.6,apache,windows 10.
已安装 laravel 并配置 httpd.conf、mysite.com.conf、 .htaccess 和 hosts 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' 出现了 :) 无论如何感谢所有帮助!