phpstudy 配置伪静态需按 web 服务器(apache/nginx)和程序类型匹配规则:apache 要启用 rewrite_module、设 allowoverride all、配置 .htaccess;nginx 需手动写 location 规则并确保 root 指向 public 目录;thinkphp 还须开启路由、清空后缀、统一分隔符;验证时先测 index.php 地址,再查重载、路径与日志。

用 PHPStudy 配置网站伪静态,关键不是“点一下就生效”,而是根据你用的 Web 服务器(Apache 或 Nginx)和具体程序(如 WordPress、ThinkPHP)匹配对应规则,并确保底层支持、配置位置、框架设置三者一致。下面分场景说明核心操作。
Apache 环境下配伪静态(适用于 WordPress、Z-Blog 等)
Apache 依赖 .htaccess 文件和 mod_rewrite 模块:
- 打开 PHPStudy → 「其他选项菜单」→ 「Apache 扩展」→ 勾选 rewrite_module 并启用
- 编辑
httpd.conf(通过「配置文件」→ 「Apache 配置文件」打开),搜索AllowOverride None,全部替换为AllowOverride All - 确保网站根目录存在
.htaccess文件(可手动创建或由程序自动生成),内容示例如下(WordPress):
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
- 保存后,在 PHPStudy 面板中重启 Apache 服务
Nginx 环境下配伪静态(ThinkPHP 必须手动写规则)
Nginx 不读 .htaccess,所有规则必须写进站点配置文件,且 ThinkPHP 不能直接选下拉菜单里的“ThinkPHP”模板——它实际塞的是 Laravel 规则,会失效:
- 进入「网站」→「管理」→「配置文件」,打开对应站点的
vhosts.conf或vhosts-ini - 找到
location / { }块,**完整替换为以下内容**(注意空格、括号、分号):
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
}
}
- 确认该
location在location ~ \.php$之前,且root指向项目public/目录(如root "D:/www/myapp/public";) - 保存后,点击 PHPStudy 中的「重启 Nginx」按钮
ThinkPHP 框架层必须同步调整
只改 Nginx 规则,不调框架配置,照样 404:
- 打开项目中的
config/app.php,检查三项: -
'url_route_on' => true—— 路由开关必须开 -
'url_html_suffix' => ''—— 设为空才能访问/user/list这类无后缀 URL -
'pathinfo_depr' => '/'—— 必须与 Nginx 规则中s=$1的斜杠分隔逻辑一致
验证与常见问题定位
别一保存就刷首页,按顺序排查更高效:
- 先测带
index.php的地址,如http://localhost/index.php/index/hello,能显示说明 PHP 和框架正常 - 再测伪静态地址,如
http://localhost/index/hello,若 404,检查 Nginx 是否重载、root是否指向public、if判断是否漏括号 - 若页面空白(状态码 200 但无内容),打开 Nginx 错误日志(路径类似
c:\phpstudy_pro\extensions\nginx1.22.1\logs\error.log),搜Primary script unknown—— 多数是SCRIPT_FILENAME拼错,根源常在root设置错误
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











