PHP本身不直接创建虚拟目录,虚拟目录由Web服务器管理;Apache中可通过.htaccess配合mod_rewrite实现伪虚拟目录,需启用AllowOverride All、RewriteEngine及合理重写规则,并配置安全限制防止敏感文件暴露。

PHP 本身不直接创建虚拟目录,虚拟目录由 Web 服务器(如 Apache 或 Nginx)管理。在 Apache 环境中,.htaccess 文件常用于实现“伪虚拟目录”效果——即 URL 看似访问某个目录,实际由 PHP 统一入口(如 index.php)动态解析并响应,配合重写规则达成伪静态与路由控制。
启用 .htaccess 并允许重写
确保 Apache 已开启 mod_rewrite 模块,并在站点配置或虚拟主机中设置:AllowOverride All(否则 .htaccess 中的重写规则将被忽略)。
基础伪静态规则:隐藏 index.php
适用于 Laravel、ThinkPHP 等框架或自定义路由系统,把 /user/123 映射到 index.php?path=user/123:
RewriteEngine On-
RewriteCond %{REQUEST_FILENAME} !-f(请求不是真实文件) -
RewriteCond %{REQUEST_FILENAME} !-d(请求不是真实目录) -
RewriteRule ^(.*)$ index.php?$1 [QSA,L](所有非静态资源交由 index.php 处理)
说明:QSA 保留原始查询参数,L 表示终止后续规则。
将 WCAG 2 AA 无障碍标准应用于设计系统、UI 组件和网页——通过可运行的验证器进行对比度计算,采用设计 token 模式使颜色天生可访问,设定排版和焦点状态规则,并提供语义检查清单。适用于构建或审查 UI。
模拟虚拟目录结构(如 /api/v1/ → api.php)
若想让 /api/v1/users 实际调用 api.php 并传参 v=1&path=users:
RewriteRule ^api/v([0-9]+)/(.+)$ api.php?v=$1&path=$2 [QSA,L]- 支持匹配
/api/v2/posts?sort=desc,参数自动合并 - 注意:需确保
api.php正确解析$_GET['v']和$_GET['path']
禁止直接访问敏感文件与目录
增强安全性,防止暴露源码或配置:
-
deny from all放在config/、app/等目录下的.htaccess中 -
RewriteRule \.(log|ini|php\.bak|gitignore) - [F,L](禁止下载日志、配置等后缀) -
Options -Indexes(关闭目录列表浏览)
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










