WINDOWS HOSTING READY
网站空间已开通
将网站文件上传到 wwwroot 目录后即可开始使用。纯静态网站可直接覆盖 index.html;使用 PHP、Classic ASP 或 ASP.NET 程序时,上传完成后删除或覆盖本页的 index.html。
快速上线
- 打开文件管理进入控制面板文件管理器,或使用 FTP 连接当前空间。
- 进入 wwwroot网站公开文件必须放在站点目录下的
wwwroot。 - 上传并访问上传入口文件后刷新当前域名,检查首页和静态资源。
正式接入后,新的
index.html、index.php、default.asp 或 default.aspx 会优先于本开通页显示,无需保留系统示例内容。默认首页文件
服务器按以下顺序查找首页文件:
index.html index.htm index.php default.asp default.aspx default.htm
同一目录存在多个首页时,只会显示顺序靠前的文件。程序已经上传但仍看到旧页面时,请检查文件是否放在 wwwroot,并确认入口文件名称。
站点目录说明
wwwroot网站公开访问根目录,首页、CSS、JavaScript、图片和公开下载文件放在这里。
private非公开程序和配置目录,适合存放完整应用、依赖和不应被浏览器直接访问的文件。
data站点数据目录,可用于保存应用数据或非公开文件,不要把公开首页放在这里。
logsIIS 网站日志目录,用于排查访问状态和请求错误,不要作为网站文件目录。
不要删除
wwwroot、private、data 或 logs 目录本身。只清理目录内确认不再使用的文件。不同程序放在哪里
| 程序类型 | 常见入口 | 上线要点 |
|---|---|---|
| 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\
配置步骤
- 打开控制面板的文件管理器,进入当前站点目录。
- 进入
private,新建app目录。 - 把完整程序上传并解压到
private\app。完成后应能看到程序的public、vendor、bootstrap等目录。 - 把
private\app\public内的全部文件和子目录复制到wwwroot。复制的是public里面的内容,不要形成wwwroot\public。 - 如果
public中存在web.config,一并复制到wwwroot;如果只有.htaccess,需要转换成 IIS URL Rewrite 规则。 - 编辑
wwwroot\index.php,把原来指向上级目录的依赖路径改为private\app。Laravel 常见的两处路径如下,其他程序按自身目录结构调整:
require __DIR__ . '/../private/app/vendor/autoload.php'; $app = require_once __DIR__ . '/../private/app/bootstrap/app.php';
- 程序没有提供 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>
- 程序需要运行时写入时,只给指定目录开启写权限,例如
private\app\storage、private\app\bootstrap\cache或程序自己的上传目录。不要给整个站点目录开放写权限。 - 在控制面板选择正确的 PHP 版本,然后重启应用池。
- 依次测试首页、后台登录、内页 URL、CSS、JavaScript、图片和文件上传。首页正常但内页 404 时,优先检查
web.config重写规则;页面无样式时,检查 public 内的静态目录是否完整复制到wwwroot。
常见错误检查
- 仍显示开通页:程序不在
wwwroot,或入口文件不在默认首页列表中。 - HTTP 500.19:
web.configXML 格式错误,或存在重复的配置节点。 - 首页正常、内页 404:IIS URL Rewrite 规则缺失或没有复制。
- 缓存、日志或上传失败:只检查程序指定写入目录的权限,不要放宽整个站点 ACL。
- 数据库连接失败:核对数据库类型、库名、用户名、密码和程序连接字符串。