适用于:
- Chevereto Free(开源版)
- Chevereto Paid(商业版)
- 宝塔面板 BT-Panel
- Nginx 环境
这些规则包含:
- 禁止 PHP 文件直接访问
- 禁止敏感文件泄露
- 404 图片自动替换
- CORS 跨域字体支持
- Chevereto 前置控制器(Front Controller)
- FastCGI 适配宝塔(BT)
📌 Chevereto 官方推荐规则(增强版)
你可以直接复制粘贴到:
宝塔 → 网站 → 设置 → 伪静态 → Nginx
或
网站配置 → nginx.conf → server{ } 内
##
# 禁止访问敏感目录与文件
##
location ~* (app|content|lib)/.*\.(po|php|lock|sql)$ {
return 404;
}
location ~* composer\.json|composer\.lock|.gitignore$ {
return 404;
}
location ~* /\.ht {
return 404;
}
##
# 图片 404 指定替代图
##
location ~* \.(jpe?g|png|gif|webp|mp4|webm|mov)$ {
log_not_found off;
error_page 404 /content/images/system/default/404.gif;
}
##
# 字体 / CSS / JS 允许跨域
##
location ~* \.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ {
add_header Access-Control-Allow-Origin "*";
}
##
# PHP 主入口 (Front Controller)
# 所有请求都交给 /index.php
##
location / {
index index.php;
try_files $uri $uri/ /index.php$is_args$query_string;
}
##
# 禁止直接访问 .php 文件(所有 PHP 仅通过 index.php 调用)
##
location ~ \.php$ {
# 必须确保 php.ini 启用了:
# cgi.fix_pathinfo = 0;
include fastcgi_params;
fastcgi_intercept_errors on;
# 宝塔默认 php-cgi 监听路径
# 记得修改为你使用的 PHP 版本
fastcgi_pass unix:/tmp/php-cgi-82.sock;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
⚠️ 重要提醒
1. 修改你的 PHP 版本
你的示例使用:
fastcgi_pass unix:/tmp/php-cgi-82.sock;
如果你服务器的 PHP 版本是:
| PHP 版本 | 对应 socket |
|---|---|
| PHP 7.4 | /tmp/php-cgi-74.sock |
| PHP 8.0 | /tmp/php-cgi-80.sock |
| PHP 8.1 | /tmp/php-cgi-81.sock |
| PHP 8.2 | /tmp/php-cgi-82.sock |
请确认自己的版本。
额外推荐(可选)
🔥 禁止访问 /install/(生产环境必须保护)
location ^~ /install/ {
deny all;
}
🔥 强制 HTTPS(如果网站有 SSL)
if ($scheme != "https") {
return 301 https://$host$request_uri;
}
🔥 设置缓存头,提高静态资源加载速度
location ~* \.(jpg|jpeg|png|gif|svg|webp|css|js|woff|woff2|ttf|eot)$ {
expires 30d;
access_log off;
}
✔ 完整伪静态已生成
如果你愿意,我还能继续帮助你:
🔹 生成 Chevereto + 宝塔 + CDN 全套配置
🔹 优化图片访问速度(缓存、防盗链、加速)
🔹 Docker 版 Chevereto 部署教程
🔹 图片 404 跳转到随机图 / 自定义页面
