我们要做的,就是在 同一个文件里 ,加上拦截 /admin 的两个 location , 不要写 server {} 。
最终,这个 /www/server/panel/vhost/rewrite/faka.com.conf 里的内容,建议改成这样(完整替换即可):
# 禁止直接访问 runtime 和 application 目录
location ~* (runtime|application)/ {
return 403;
}
# 禁止通过 /admin 直接访问后台模块,只能用单独入口 PHP
location = /admin {
return 404;
}
location ^~ /admin/ {
return 404;
}
# 其他请求交给 index.php 处理(ThinkPHP 伪静态)
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}```
# 禁止直接访问 runtime 和 application 目录
location ~* (runtime|application)/ {
return 403;
}
# 禁止通过 /admin 直接访问后台模块,只能用单
独入口 PHP
location = /admin {
return 404;
}
location ^~ /admin/ {
return 404;
}
# 其他请求交给 index.php 处理(ThinkPHP 伪
静态)
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?
s=$1 last;
break;
}
}
```
注意几点:
- 不要 在这里写 server { ... } ;
- 只保留这些 location 段就行;
- 保存后,点击“测试配置”/“重载 Nginx”,通过即可。
操作步骤(宝塔界面)
1. 宝塔 → 网站 → 找到 faka.com → 点击“设置”。
2. 进入“伪静态”标签页(你刚才编辑的就是这个)。
3. 把原来的内容全部替换成上面那段新的配置。
4. 点击保存 → 宝塔会自动测试 Nginx 配置 → 通过后重载生效。
生效后效果
假设你已经把 /public/admin.php 改名为 hbadmin_888.php :
- 访问 https://你的域名/admin 或 https://你的域名/admin/xxx → 直接 404,不再进入后台;
- 访问 https://你的域名/hbadmin_888.php → 正常进入后台登录;
- 前台商品页、下单页等其他 URL → 继续由 location / 里的 rewrite 转给 index.php ,不受影响。