网站空间已开通

请把网站公开文件上传到 web 目录。下面是目录、默认首页和 public 入口的实际配置方法。

开始使用

上传程序前可以删除或覆盖 web/standard_index.html,但不要删除 web 目录本身。

默认首页文件

服务器按以下顺序查找首页:

index.html  index.htm  index.php  index.cgi  index.pl  index.xhtml  standard_index.html

如果同时存在 index.htmlindex.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

  1. 打开“网站文件”,进入站点根目录,再进入 private,新建目录 app
  2. 把完整程序上传并解压到 private/app。完成后应能看到 private/app/publicprivate/app/vendor 等程序目录。.env、源码和 vendor 保留在 private/app,不要放到 web
  3. 打开 private/app/public,全选其中所有文件和子目录,复制到 web。隐藏文件也要复制;不要把 public 目录本身套进 web/public
  4. 编辑 web/index.php。只修改程序原入口文件中的相对路径,使其从 web 指向 private/app。Laravel 常见的两处路径如下,其他代码保持程序原样:
require __DIR__.'/../private/app/vendor/autoload.php';
$app = require_once __DIR__.'/../private/app/bootstrap/app.php';
  1. 如果 web 中还有旧的 index.html,将其删除或改名,否则它会排在 index.php 前面。
  2. 进入控制面板:站点 -> 网站 -> 点击主域名 -> 顶部“重定向”选项卡。把“重定向类型”设为“不重定向”,“重定向路径”留空,“SEO 重定向”设为“不重定向”。
  3. 在同一页面的“重写规则”中填入下面的 nginx 规则,然后点击“保存”:
location / {
    try_files $uri $uri/ /index.php?$query_string;
}
  1. 等待配置生效后,依次打开首页、登录页、后台页面、CSS、JavaScript 和图片地址。页面正常但样式缺失时,先检查 private/app/public 中的静态目录是否完整复制到 web
  2. 程序提示缓存或上传目录不可写时,在文件管理器中给 private/app/storageprivate/app/bootstrap/cache 等程序指定目录开启所有者写入权限;不要把整个站点设置成任意用户可写。
配置完成后的目录示例
private/app/              完整程序,不直接公开
private/app/.env         数据库等私密配置
private/app/vendor/      程序依赖
private/app/public/      原始 public 文件
web/index.php            已修改路径的公开入口
web/css、web/js...       从 public 复制的静态资源