欢迎光临 - 我的站长站,本站所有资源仅供学习与参考,禁止用于商业用途或从事违法行为!

服务器配置

nginx新手入门-认识location匹配规则

服务器配置 我的站长站 2022-11-12 共28人阅读

我们在配置nginx时,会看到默认的Nginx配置规则内有很多的location,这些location每一段就代表一个规则,location的编写方法需要会一点正则,不会的可以继续看我的站长站为大家带来的location新手入门教程。

完整nginx配置规则如下:

server{
listen 80;
server_name localhost;
location / {
}
location /abc{
}...}

location:用来设置请求的URI

默认值 —
语法 location [ = | ~ | ~* | ^~ |@ ] uri{...}
位置 server,location
uri变量是待匹配的请求字符串,可以不包含正则表达式,也可以包含正则表达式,那么nginx服务器在搜索匹配location的时候,是先使用不包含正则表达式进行匹配,找到一个匹配度最高的一个,然后在通过包含正则表达式的进行匹配,如果能匹配到直接访问,匹配不到,就使用刚才匹配度最高的那个location来处理请求。

属性介绍:

不带符号,要求必须以指定模式开始

server {
listen 80;
server_name 127.0.0.1;
location /abc{
default_type text/plain;return 200 "access success";
}
}

以下访问都是正确的

http://192.168.200.133/abc
http://192.168.200.133/abc?p1=TOM
http://192.168.200.133/abc/
http://192.168.200.133/abcdef

= : 用于不包含正则表达式的uri前,必须与指定的模式精确匹配

server {
listen 80;
server_name 127.0.0.1;
location =/abc{
default_type text/plain;return 200 "access success";
}
}

可以匹配到

http://192.168.200.133/abc
http://192.168.200.133/abc?p1=TOM

匹配不到

http://192.168.200.133/abc/
http://192.168.200.133/abcdef

~ : 用于表示当前uri中包含了正则表达式,并且区分大小写

~*: 用于表示当前uri中包含了正则表达式,并且不区分大小写

换句话说,如果uri包含了正则表达式,需要用上述两个符合来标识

server {listen 80;
server_name 127.0.0.1;
location ~^/abc\w${
default_type text/plain;return 200 "access success";
}
}
server {listen 80;
server_name 127.0.0.1;
location ~*^/abc\w${
default_type text/plain;return 200 "access success";
}
}

^~: 用于不包含正则表达式的uri前,功能和不加符号的一致,唯一不同的是,如果模式匹配,那么就停止搜索其他模式了。

server {
listen 80;
server_name 127.0.0.1;
location ^~/abc{
default_type text/plain;return 200 "access success";
}
}

设置请求资源的目录root / alias


相关专题
nginx
nginx
2022-11-28 19

Nginx是一个高性能的HTTP和反向代理web服务器,也是站长常见的网站环境之一.nginx凭借高性能低消耗近几年越来越多站长使用,学习好nginx也成为站长必备知识点.我的...

相关推荐
  • nginx教程
  • 新手入门
  • nginx限制并发数和限制下载速度方法

    分享一篇最近我的站长站刚学的nginx限制并发数和限制下载速度方法,可以限制一个IP同一时间只允许发起一个连接,如果发起多个链接,会提示503。另外还支持限制的下载速度,用户在开始的下载500m之前,下载速度可以飙到最大,但是一旦下载的文件大小超过了500m,下...

    服务器配置 109 2年前
  • nginx新手入门-认识location匹配规则

    我们在配置nginx时,会看到默认的nginx配置规则内有很多的location,这些location每一段就代表一个规则,location的编写方法需要会一点正则,不会的可以继续看我的站长站为大家带来的location新手入门教程。完整nginx配置规则如下:server{listen 80;server_n...

    服务器配置 28 2年前
  • Nginx与Apache有什么区别?

    Apache & NginxApache,指的应该是 Apache 软件基金会下的一个项目——Apache HTTP Server Project;Nginx 同样也是一款开源的 HTTP 服务器软件(当然它也可以作为邮件代理服务器、通用的TCP 代理服务器)。HTTP 服务器本质上也是一种应用程序——它通常运...

    服务器配置 144 4年前
  • 宝塔Nginx防火墙插件使用教程
    宝塔Nginx防火墙插件使用教程

    宝塔面板的防火墙非常好用,之前一直是免费的,就是因为太好用了,现在改成收费的了,下面教教大家如何配置宝塔面板的防火墙插件。首先需要你购买安装宝塔Nginx防火墙插件,界面上有全局设置和站点设置,更...

    宝塔面板 501 4年前
  • nginx宝塔面板如何设置404错误页面

    新版的宝塔面板更新了,最新可以在后台窗口直接自定义手动设置404错误页面了,再也不用默认的404模板。我们直接打开宝塔面板,打开站点设置,找到“配置文件”,看到如下图的代码地方。#ERROR-PAGE-START 错误页配置,可以注释、删除或修改error_page 404 /Sty...

    宝塔面板 186 2年前
  • php_Stu新手入门PHP示例实战源码
    php_Stu新手入门PHP示例实战源码

    源码介绍php_Stu新手入门PHP示例实战源码,保护注册登录和会员信息展示、修改用户信息等等基础功能,简单的php语言和基础逻辑以及一点点sql语句搞的。因为代码没经过安全过滤,可能存在常见的web渗透...

    php源码 26 9个月前
  • [Linux入门]Linux系统简介

    Linux 为何物Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Mac OS 。计算机系统分为硬件、内核、系统调用、应用程序四层, Linux 作为操作系统则主要是系统调用和内核那两层。操作系统在整个计算机系统中,是充当应用程序和硬件沟通交流...

    服务器配置 173 4年前
  • 有哪些好的php一键端环境配置软件

    以前PHP运行环境我们都是手动照着教程一步一步的配置的,外一哪一步出错了,又得重装重新配置,传统的php环境软件非常复杂。好在很多公司开发了一键搭建php安装环境,一键进行php环境配置,大大节省了搭建php mysql环境的时间!对老手来说安装配置php环境也不再...

    php教程 166 4年前
  • SQL新手入门SELECT数据库查询语句

    SELECT语义SELECT 语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。SELECT语法示例SELECT column_name,column_name FROM table_name;SELECT * FROM table_name;下面的 SQL 语句从 "Websites" 表中选取 "name" 和 "country" 列:SEL...

    数据库教程 129 4年前
  • 如何查询网站排名
    如何查询网站排名

    如何查询网站排名?新手入门小白肯定不会,我的站长站特意写一篇才能入门级教程。目前查询网站排名都是用工具查询,使用非常简单。截图常用网站排名查询工具站长工具:https://seo.chinaz.com/www.wdzzz...

    网站优化 209 3年前