WINDOWS HOSTING READY

网站空间已开通

将网站文件上传到 wwwroot 目录后即可开始使用。纯静态网站可直接覆盖 index.html;使用 PHP、Classic ASP 或 ASP.NET 程序时,上传完成后删除或覆盖本页的 index.html

快速上线

  1. 打开文件管理进入控制面板文件管理器,或使用 FTP 连接当前空间。
  2. 进入 wwwroot网站公开文件必须放在站点目录下的 wwwroot
  3. 上传并访问上传入口文件后刷新当前域名,检查首页和静态资源。
正式接入后,新的 index.htmlindex.phpdefault.aspdefault.aspx 会优先于本开通页显示,无需保留系统示例内容。

默认首页文件

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

index.html  index.htm  index.php  default.asp  default.aspx  default.htm

同一目录存在多个首页时,只会显示顺序靠前的文件。程序已经上传但仍看到旧页面时,请检查文件是否放在 wwwroot,并确认入口文件名称。

站点目录说明

wwwroot网站公开访问根目录,首页、CSS、JavaScript、图片和公开下载文件放在这里。
private非公开程序和配置目录,适合存放完整应用、依赖和不应被浏览器直接访问的文件。
data站点数据目录,可用于保存应用数据或非公开文件,不要把公开首页放在这里。
logsIIS 网站日志目录,用于排查访问状态和请求错误,不要作为网站文件目录。
不要删除 wwwrootprivatedatalogs 目录本身。只清理目录内确认不再使用的文件。

不同程序放在哪里

程序类型 常见入口 上线要点
PHP index.php 在控制面板选择程序要求的 PHP 版本;URL 重写使用 web.config,IIS 不读取 .htaccess
Classic ASP default.asp 程序需要父路径时,在网站设置中开启“启用父路径”;数据库连接信息保存在程序配置文件中。
ASP.NET 4.x default.aspx 保留程序的 bin、配置和静态资源目录;修改 web.config 后可重启应用池。

程序要求 public 目录时如何配置

Laravel、部分 ThinkPHP 和其他现代框架会把 public 作为唯一公开入口。当前 Windows 虚拟主机的 IIS 公开根目录固定为 wwwroot,不需要改站点物理路径,也不要把完整程序直接暴露在 wwwroot

推荐目录结构

站点目录\
|-- private\app\             完整程序,不直接公开
|   |-- app\
|   |-- bootstrap\
|   |-- public\              原始 public 目录
|   |-- storage\
|   `-- vendor\
|-- wwwroot\                 IIS 公开目录
|   |-- index.php            从 public 复制并修改路径
|   |-- web.config           IIS 重写规则
|   |-- css\  js\  images\
|-- data\
`-- logs\

配置步骤

  1. 打开控制面板的文件管理器,进入当前站点目录。
  2. 进入 private,新建 app 目录。
  3. 把完整程序上传并解压到 private\app。完成后应能看到程序的 publicvendorbootstrap 等目录。
  4. private\app\public 内的全部文件和子目录复制到 wwwroot。复制的是 public 里面的内容,不要形成 wwwroot\public
  5. 如果 public 中存在 web.config,一并复制到 wwwroot;如果只有 .htaccess,需要转换成 IIS URL Rewrite 规则。
  6. 编辑 wwwroot\index.php,把原来指向上级目录的依赖路径改为 private\app。Laravel 常见的两处路径如下,其他程序按自身目录结构调整:
require __DIR__ . '/../private/app/vendor/autoload.php';
$app = require_once __DIR__ . '/../private/app/bootstrap/app.php';
  1. 程序没有提供 IIS 规则时,打开现有 wwwroot\web.config,在已有的 <system.webServer> 节点内加入下面的 <rewrite>。不要重复创建第二个 <system.webServer>
<rewrite>
  <rules>
    <rule name="Front Controller" stopProcessing="true">
      <match url=".*" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
      </conditions>
      <action type="Rewrite" url="index.php" appendQueryString="true" />
    </rule>
  </rules>
</rewrite>
  1. 程序需要运行时写入时,只给指定目录开启写权限,例如 private\app\storageprivate\app\bootstrap\cache 或程序自己的上传目录。不要给整个站点目录开放写权限。
  2. 在控制面板选择正确的 PHP 版本,然后重启应用池。
  3. 依次测试首页、后台登录、内页 URL、CSS、JavaScript、图片和文件上传。首页正常但内页 404 时,优先检查 web.config 重写规则;页面无样式时,检查 public 内的静态目录是否完整复制到 wwwroot
常见错误检查
  • 仍显示开通页:程序不在 wwwroot,或入口文件不在默认首页列表中。
  • HTTP 500.19:web.config XML 格式错误,或存在重复的配置节点。
  • 首页正常、内页 404:IIS URL Rewrite 规则缺失或没有复制。
  • 缓存、日志或上传失败:只检查程序指定写入目录的权限,不要放宽整个站点 ACL。
  • 数据库连接失败:核对数据库类型、库名、用户名、密码和程序连接字符串。