如何使用phpEnv安装并配置Typecho博客的伪静态?
- 内容介绍
- 文章标签
- 相关推荐
本文共计959个文字,预计阅读时间需要4分钟。
请提供需要改写的伪原创开头内容,我将根据您的要求进行修改。
phpEnv 启动 Apache 前必须启用 rewrite 模块
phpEnv 控制面板里点“启动”Apache,只是跑起来了,不代表所有模块都就绪。Typecho 的伪静态依赖 mod_rewrite,而 phpEnv 安装时默认是禁用该模块的。
- 打开 phpEnv 安装目录(比如
D:\PHPEnv),进入\Apache\conf\httpd.conf - 搜索
#LoadModule rewrite_module modules/mod_rewrite.so,删掉开头的#取消注释 - 再搜索
AllowOverride None,把它全改成AllowOverride All(注意:要改的是网站对应<directory></directory>块里的那几处,不是全局配置) - 保存后,在 phpEnv 面板中重启 Apache(先“停止”,再“启动”)
在网站根目录手动创建 .htaccess 文件
phpEnv 不会自动为你生成 .htaccess,Typecho 也没权限自己写——你得亲手建一个,放在 Typecho 所在目录的最顶层(即访问博客时 URL 的根路径)。
- 用记事本或 VS Code 新建文件,内容严格按以下格式(注意换行和空格):
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule>
- 保存为
.htaccess(不是.htaccess.txt),编码选 UTF-8 无 BOM - 如果系统提示“不能以点开头命名”,就先存成
htaccess,再用命令行重命名:ren htaccess .htaccess - 确认该文件和
index.php在同一级目录
Typecho 后台开启重写功能时的两个关键动作
光配好服务器还不够,Typecho 程序本身要“认这个账”。进后台操作时容易漏掉一个强制步骤。
立即学习“PHP免费学习笔记(深入)”;
- 访问
http://localhost/admin/(或你设的域名),登录后进「设置 → 永久链接」 - 勾选「是否使用地址重写功能」→ 此时页面下方大概率出现红色错误提示(如 “重写功能不可用”)
- 不要关掉页面,直接在错误提示下方那个空勾选框里打钩(label 是「仍然启用」或「强制启用」)
- 再点「保存设置」——这一步跳过,伪静态就永远处于“已配置但被忽略”状态
常见失败现象与对应检查点
配置完仍打不开文章页?别急着重装,先盯住这几个地方:
- 访问
http://localhost/.htaccess,如果能直接下载或显示内容,说明 Apache 没拦住隐藏文件——AllowOverride All生效了;如果返回 404 或 403,说明AllowOverride还没改对位置 - 打开 Apache 错误日志(phpEnv 面板里有快捷入口),搜
rewrite或htaccess,看有没有Invalid command 'RewriteEngine'——有就代表模块没启用成功 - 伪静态启用后点文章链接,浏览器地址栏仍是
index.php/xxx,说明RewriteRule没命中,大概率是RewriteBase设错了(二级目录部署时得改成RewriteBase /subdir/)
最易被忽略的是:phpEnv 的 Apache 默认监听 8080 端口,但很多人习惯输 localhost(即 80),结果压根没走到你配的那套规则里——务必确认你访问的 URL 和 phpEnv 中 Apache 实际监听端口一致。
本文共计959个文字,预计阅读时间需要4分钟。
请提供需要改写的伪原创开头内容,我将根据您的要求进行修改。
phpEnv 启动 Apache 前必须启用 rewrite 模块
phpEnv 控制面板里点“启动”Apache,只是跑起来了,不代表所有模块都就绪。Typecho 的伪静态依赖 mod_rewrite,而 phpEnv 安装时默认是禁用该模块的。
- 打开 phpEnv 安装目录(比如
D:\PHPEnv),进入\Apache\conf\httpd.conf - 搜索
#LoadModule rewrite_module modules/mod_rewrite.so,删掉开头的#取消注释 - 再搜索
AllowOverride None,把它全改成AllowOverride All(注意:要改的是网站对应<directory></directory>块里的那几处,不是全局配置) - 保存后,在 phpEnv 面板中重启 Apache(先“停止”,再“启动”)
在网站根目录手动创建 .htaccess 文件
phpEnv 不会自动为你生成 .htaccess,Typecho 也没权限自己写——你得亲手建一个,放在 Typecho 所在目录的最顶层(即访问博客时 URL 的根路径)。
- 用记事本或 VS Code 新建文件,内容严格按以下格式(注意换行和空格):
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule>
- 保存为
.htaccess(不是.htaccess.txt),编码选 UTF-8 无 BOM - 如果系统提示“不能以点开头命名”,就先存成
htaccess,再用命令行重命名:ren htaccess .htaccess - 确认该文件和
index.php在同一级目录
Typecho 后台开启重写功能时的两个关键动作
光配好服务器还不够,Typecho 程序本身要“认这个账”。进后台操作时容易漏掉一个强制步骤。
立即学习“PHP免费学习笔记(深入)”;
- 访问
http://localhost/admin/(或你设的域名),登录后进「设置 → 永久链接」 - 勾选「是否使用地址重写功能」→ 此时页面下方大概率出现红色错误提示(如 “重写功能不可用”)
- 不要关掉页面,直接在错误提示下方那个空勾选框里打钩(label 是「仍然启用」或「强制启用」)
- 再点「保存设置」——这一步跳过,伪静态就永远处于“已配置但被忽略”状态
常见失败现象与对应检查点
配置完仍打不开文章页?别急着重装,先盯住这几个地方:
- 访问
http://localhost/.htaccess,如果能直接下载或显示内容,说明 Apache 没拦住隐藏文件——AllowOverride All生效了;如果返回 404 或 403,说明AllowOverride还没改对位置 - 打开 Apache 错误日志(phpEnv 面板里有快捷入口),搜
rewrite或htaccess,看有没有Invalid command 'RewriteEngine'——有就代表模块没启用成功 - 伪静态启用后点文章链接,浏览器地址栏仍是
index.php/xxx,说明RewriteRule没命中,大概率是RewriteBase设错了(二级目录部署时得改成RewriteBase /subdir/)
最易被忽略的是:phpEnv 的 Apache 默认监听 8080 端口,但很多人习惯输 localhost(即 80),结果压根没走到你配的那套规则里——务必确认你访问的 URL 和 phpEnv 中 Apache 实际监听端口一致。

