PHP本身不处理虚拟目录,完全由Web服务器控制;Apache用Alias+Directory授权并显式绑定PHP处理器,Nginx用location+alias+显式SCRIPT_FILENAME,IIS需手动继承FastCGI映射并设cgi.fix_pathinfo=1。

PHP 本身不处理虚拟目录或子目录跳转,这些完全由 Web 服务器(Apache/Nginx/IIS)控制。所谓“子目录跳转”或“路由映射”,本质是把某个 URL 路径(比如 /admin 或 /api/v2)映射到非网站根目录下的物理路径,并确保 PHP 脚本能被正确解析执行——不是简单重定向,而是路径重写 + 处理器绑定。
Apache:用 Alias + Directory 授权(适合静态别名)
适用于将 /backend 映射到 D:/www/core/backend 这类非主站结构的场景:
- 在
httpd-vhosts.conf或站点配置中添加:
Alias /backend "D:/www/core/backend"
<directory>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</directory>
⚠️ 注意:Alias 不会自动触发 PHP 解析。若目录内含 .php 文件,必须额外加处理器声明:
- 在
块内或全局模块区加入:AddHandler application/x-httpd-php .php(mod_php 模式)
或ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/D:/www/core/backend/(PHP-FPM 模式) - 路径末尾不加斜杠,
Alias /backend和"D:/www/core/backend"都保持无尾斜杠更稳妥
Nginx:用 location + alias + 显式 SCRIPT_FILENAME(关键!)
这是 Windows 下最易出错的环节。例如让 /admin/ 访问 D:/www/backend/admin/:
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
- 必须用
alias,不能用root(否则多一层路径) -
location和alias的结尾斜杠必须严格一致:location /admin/ { alias D:/www/backend/admin/; } - PHP-FPM 参数不能依赖
$document_root(alias 下失效),必须写死:fastcgi_param SCRIPT_FILENAME $request_filename; - 同时修正脚本名,避免框架误判:
fastcgi_param SCRIPT_NAME $fastcgi_script_name; - PHP 处理块建议嵌套在该 location 内,而非全局,防止规则冲突
IIS:手动继承 FastCGI 映射(虚拟目录默认不继承)
新建虚拟目录后,它不会自动获得父站点的 PHP 处理能力:
- 在 IIS 管理器中右键该虚拟目录 → 「处理程序映射」→ 「添加模块映射…」
- 填入:
请求路径:*.php
模块:FastCgiModule(务必从下拉选,不可手输)
可执行文件:C:\php\php-cgi.exe(路径需与主站完全一致) - 确认 FastCGI 设置中启用
cgi.fix_pathinfo=1,否则常见No input file specified - 授予
IIS_IUSRS对物理路径的读取权限,路径避免中文、空格、括号
路由级跳转(如 Laravel/ThinkPHP 子目录部署)
这不是服务器虚拟目录,而是应用层路由前缀。例如整个 Laravel 项目跑在 https://site.com/myapp/ 下:
- Apache:
DocumentRoot仍指向public/,但需在.htaccess中补全重写基础路径:RewriteBase /myapp/ - Nginx:
location /myapp/块内设alias指向public/,并确保try_files和SCRIPT_FILENAME拼接正确 - PHP 框架内需设置 APP_URL=
https://site.com/myapp,并调用URL::forceRootUrl()(Laravel)或修改app.url(TP6) - 所有生成链接、资源路径、重定向地址都会受此影响,不能只靠服务器配置
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










