laravel - Laravel 在本地 ubuntu 20 中显示空白页
问题描述
我正在使用 ubuntu 20,laravel 项目使用php artisan serve运行,但是当我使用这个 URL laravel-local.com访问该站点时,它显示空白页
无法得到任何错误
网站可用
<VirtualHost *:80>
ServerAdmin admin@MyWebsite.com
DocumentRoot /var/www/html/laravel-local.com/public
ServerName laravel-local.com
<Directory /var/www/html/laravel-local.com/public>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我试过的
- 授予项目 777 访问权限
- 更改所有权
- 删除存储/框架内的文件夹
- 更改存储文件夹权限
- composer dump-autoload, php artisan 缓存和配置清除
- 删除公用文件夹中的 .htaccess 文件
我尝试了上述所有步骤仍然有一个空白页
根文件夹中的 .htaccess 文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
公共文件夹中的 .htaccess
<IfModule mod_rewrite.c>
Options -Indexes
<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}]
</IfModule>
解决方案
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule>
您不需要这样的.htaccess
文件(它需要放在目录上方的/public
目录中),因为您已经将/public
目录配置为DocumentRoot
服务器配置中的 。
如果您还删除了子目录中的.htaccess
文件,/public
那么这将导致重写循环(500 错误)。
您只需要文档根目录中的标准 Laravel 前端控制器(.htaccess
文件),即。在/public
子目录中。
但是,您应该在您的 vHost(容器)或 Laravel 主文件的顶部(文件夹内)中定义DirectoryIndex
(如果尚未在服务器配置中的某处设置)。如果没有定义,那么对 Laravel 目录本身(主页)的请求将不会通过 Laravel 路由,并且可能会导致来自 Apache 的 403 Forbidden 响应(或者更糟糕的是,如果已启用目录列表)。<Directory>
.htaccess
/public
Indexes
例如:
DirectoryIndex index.php
推荐阅读
- scala - IntelliJ 工作表期间的循环定义错误
- arrays - 合并 2 个具有相似键的 JSON 对象:ReactJS
- java - 如何使用 Java 转储 MySQL 数据库?
- javascript - 如何让我的表单在用户键入时指示模式不匹配错误(自定义验证错误)?
- javascript - AsyncFunction.apply 不是函数
- c - 用 union 的大小定义指向内存的指针
- .net - 将找到平均值的 Sql Query 迁移到 .Net Entity Framework Query
- angular - 在 Angular 中嵌套 *ngFor
- firebase - next-firebase-auth 中的 COOKIE_SECRET_CURRENT 应该是什么?
- c++ - 是否有必要在对 CUDA 内核的两次调用之间使用同步?