网站空间已开通
请把网站公开文件上传到 web 目录。下面是目录、默认首页和 public 入口的实际配置方法。
开始使用
上传程序前可以删除或覆盖
web/standard_index.html,但不要删除 web 目录本身。默认首页文件
服务器按以下顺序查找首页:
index.html index.htm index.php index.cgi index.pl index.xhtml standard_index.html
如果同时存在 index.html 和 index.php,会先显示 index.html。PHP 程序上线前请删除不需要的旧 index.html。CGI/Perl 文件能否运行取决于产品是否启用相应运行环境。
站点根目录说明
.composer Composer 配置和缓存目录,不要删除目录本身。
.ssh SSH 配置目录,不要删除目录本身,也不要公开其中内容。
backup 站点备份文件目录,不要删除目录本身。
cgi-bin CGI 程序目录,不要删除目录本身。
log 网站访问和错误日志目录,不要删除目录本身。
private 非公开程序文件目录,不要删除目录本身。
ssl 证书相关系统目录,不要删除目录本身。
tmp 临时文件和会话目录,不要删除目录本身。
web 网站公开访问根目录,不要删除目录本身。
程序要求 public 目录时如何配置
主站公开根目录固定为 web。不要使用“重定向类型”或 proxy 代替 public 目录。正确做法是把完整程序放在 private/app,只把 public 中需要公开的入口文件放到 web。
- 打开“网站文件”,进入站点根目录,再进入
private,新建目录app。 - 把完整程序上传并解压到
private/app。完成后应能看到private/app/public、private/app/vendor等程序目录。.env、源码和vendor保留在private/app,不要放到web。 - 打开
private/app/public,全选其中所有文件和子目录,复制到web。隐藏文件也要复制;不要把public目录本身套进web/public。 - 编辑
web/index.php。只修改程序原入口文件中的相对路径,使其从web指向private/app。Laravel 常见的两处路径如下,其他代码保持程序原样:
require __DIR__.'/../private/app/vendor/autoload.php'; $app = require_once __DIR__.'/../private/app/bootstrap/app.php';
- 如果
web中还有旧的index.html,将其删除或改名,否则它会排在index.php前面。 - 进入控制面板:站点 -> 网站 -> 点击主域名 -> 顶部“重定向”选项卡。把“重定向类型”设为“不重定向”,“重定向路径”留空,“SEO 重定向”设为“不重定向”。
- 在同一页面的“重写规则”中填入下面的 nginx 规则,然后点击“保存”:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
- 等待配置生效后,依次打开首页、登录页、后台页面、CSS、JavaScript 和图片地址。页面正常但样式缺失时,先检查
private/app/public中的静态目录是否完整复制到web。 - 程序提示缓存或上传目录不可写时,在文件管理器中给
private/app/storage、private/app/bootstrap/cache等程序指定目录开启所有者写入权限;不要把整个站点设置成任意用户可写。
配置完成后的目录示例
private/app/ 完整程序,不直接公开 private/app/.env 数据库等私密配置 private/app/vendor/ 程序依赖 private/app/public/ 原始 public 文件 web/index.php 已修改路径的公开入口 web/css、web/js... 从 public 复制的静态资源