在windows下用phpstudy搭建thinkphp二级域名需三步对齐:一、hosts文件添加127.0.0.1 admin.tp6.test等映射并刷新dns;二、phpstudy图形界面为各域名创建网站,根目录指向对应public目录;三、thinkphp中启用url_domain_deploy并配置route::domain()绑定子域名应用。

在 Windows 下用 phpStudy 搭建 ThinkPHP 二级域名,核心是三件事对齐:系统能认出域名、Web 服务器知道该把请求交给谁、框架自己能按子域名分发到对应应用。缺一不可,单独改 hosts 或只配虚拟主机都打不开页面。
一、hosts 文件精准映射
这是整个流程的起点,写错就全盘失效。以管理员身份打开:
C:\Windows\System32\drivers\etc\hosts
在文件末尾添加(每行一个,IP 和域名之间用空格或 Tab):
- 127.0.0.1 admin.tp6.test
- 127.0.0.1 api.tp6.test
- 127.0.0.1 tp6.test
注意:域名不能带端口、不能含下划线;保存时编码选 UTF-8 无 BOM;改完立即执行命令刷新 DNS:
cmd 中运行:ipconfig /flushdns
二、phpStudy 图形界面创建网站(推荐方式)
比手动改配置文件更安全、不易出错,适合大多数开发者:
- 打开 phpStudy 控制面板 → 点击顶部菜单「网站」→ 「创建网站」
- 域名填 admin.tp6.test(必须和 hosts 里完全一致)
- 根目录选项目中 public/ 子目录,例如:
D:\phpstudy_pro\WWW\tp6\public - 端口保持默认 80,PHP 版本选 8.0+(ThinkPHP8 要求 PHP 8.0+)
- 点击「确定」,phpStudy 会自动重启 Apache 并生效
重复以上步骤,为 api.tp6.test 和 tp6.test 各建一个网站,根目录均指向各自项目的 public/ 目录(多应用可共用一个项目,只是入口不同)。
三、ThinkPHP 框架侧启用并绑定
Web 服务器转发成功后,框架必须主动识别子域名,否则仍走默认路由:
- 修改 config/app.php,确保开启:
'url_domain_deploy' => true,
(注意:APP_SUB_DOMAIN_DEPLOY已废弃,TP6/TP8 只认这个) - 在 route/app.php 或 app/common/route.php 中注册子域名路由:
Route::domain('admin', 'admin'); // 访问 admin.tp6.test → 加载 app/admin/ 应用<br>Route::domain('api', 'api'); // 访问 api.tp6.test → 加载 app/api/ 应用<br>Route::domain('tp6.test', 'index'); // 主域名 → 加载 app/index/ 或默认应用
若使用 ThinkPHP8 多应用模式,需先通过 php think build admin 生成应用目录,再绑定。
四、验证与常见卡点
全部配置完成后,在浏览器分别访问:
- http://admin.tp6.test → 应进入后台应用
- http://api.tp6.test → 应返回 API 接口或欢迎页
- http://tp6.test → 应进入前台首页
如果打不开,优先检查:
- hosts 是否保存成功且已刷新 DNS(用
ping admin.tp6.test看是否返回 127.0.0.1) - phpStudy 中网站根目录是否指向 public/,不是项目根目录
- Apache 是否正常启动(控制面板显示绿色“已启动”)
- app.php 中
url_domain_deploy是否设为 true,拼写无误 - route.php 中
Route::domain()的第一个参数必须和域名前缀完全一致(不含 .tp6.test)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











