phpEnv需启用mod_rewrite模块并设置AllowOverride All,否则.htaccess规则静默失效;修改httpd.conf取消#LoadModule rewrite_module注释、将AllowOverride None改为All、确保Options FollowSymLinks存在,重启Apache后用记事本另存为".htaccess"(ANSI或UTF-8无BOM)方可生效。

phpEnv 默认不生效 .htaccess,必须手动启用 mod_rewrite 并放开 AllowOverride 权限,否则所有规则(防盗链、伪静态等)都会静默失效。
确认并启用 Apache 的 mod_rewrite 模块
phpEnv 底层是 Apache,但安装后通常默认禁用重写模块。直接在 .htaccess 里写 RewriteEngine on 会报 500 错误或完全无反应。
- 打开 phpEnv 安装目录下的
Apache/conf/httpd.conf - 搜索
mod_rewrite.so,找到类似这行:#LoadModule rewrite_module modules/mod_rewrite.so - 删掉开头的
#,确保它变成未注释状态 - 保存文件,**必须重启 Apache**(通过 phpEnv 控制面板或系统托盘图标)
修改 Directory 配置允许 .htaccess 覆盖规则
即使 mod_rewrite 已启用,AllowOverride None 也会让 .htaccess 被彻底忽略——这是本地开发中最常被漏掉的一步。
将 WCAG 2 AA 无障碍标准应用于设计系统、UI 组件和网页——通过可运行的验证器进行对比度计算,采用设计 token 模式使颜色天生可访问,设定排版和焦点状态规则,并提供语义检查清单。适用于构建或审查 UI。
- 仍在
httpd.conf中,搜索你网站根目录路径(如D:/phpEnv/www),定位到对应的块 - 找到其中的
AllowOverride None,改为AllowOverride All - 同时确认该
块内包含Options FollowSymLinks(部分版本需显式加上) - 改完务必重启 Apache,否则设置不加载
正确创建和放置 .htaccess 文件(Windows 下易出错)
Windows 资源管理器无法直接新建名为 .htaccess 的文件,用错方式会导致文件名变成 .htaccess.txt 或编码错误。
- 用记事本新建文本文件 →「另存为」→ 文件名输入
".htaccess"(**英文引号必须保留**),编码选「ANSI」或「UTF-8 无 BOM」 - 不要用「保存」按钮直接命名,也不要依赖右键菜单「新建文本文档」再改名(容易残留扩展名)
- 文件必须放在你要控制的目录下:比如想保护
www/uploads/下的图片,就把.htaccess放进uploads目录 - 可先写个最简测试规则验证是否生效:
RewriteEngine on+Redirect 403 /test.jpg,访问该图片应返回 403
最关键的不是规则本身有多复杂,而是 mod_rewrite 和 AllowOverride All 这两个开关是否真正打开——缺一不可,且重启 Apache 是硬性前提。很多问题表面是规则不生效,实际是 Apache 根本没读取那个文件。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










