Nginx Rewrite规则
Rewrite 主要的功能就是实现url的重写。Nginx的Rewrite的规则采用pcre perl 兼容正则表达式的语法进行规则匹配。
所以需要Rewrite,编译必须安装pcre库
Nginx Rewrite 规则的相关指令
if(!-f $request_filename){# 访问的不是文件
rewrite ^/(.*)\.html /$1.php break;
}
break指令
表示完成该规则。不再处理rewrite指令。
if 指令
判断指令。
return 指令
返回状态码
return 404; 返回一个404
rewrite 指令
rewrite 用到的变量
$args 参数
$content_length 响应头长度
$content_type 类型
$document_root 根目录
$host 主机名
$http_user_agent 用户的浏览器agent
$http_cookie cookie
$request_body 请求头
$remote_addr 页面地址
$request_method 请求方式
$request_filename 请求的文件名
$server_protocol 协议
$server_addr server地址
$server_port 服务器端口
常见的rewrite 例子
1.禁止目录访问
location ~ ^/templates{
deny all;
break;
}
2.设置静态文件的缓存时间
location ~ .*\.(gif|jpg|png|bmp|swf){
expires 30d;#缓存30天
}
3.仿盗链
location ~ .*\.(gif|jpg|png|bmp|swf){
valid_referers none blocked www.xxx.com
if($invalid_referer){
return 403;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现