nginx 常用指令 try_files allow root alias的使用

 更新时间:2024年08月27日 09:57:22   作者:Qazink  
本文主要介绍了nginx 常用指令 try_files allow root alias的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

正则匹配条件

  • ~ 为区分大小写匹配
  • ~* 为不区分大小写匹配
  • !~!~*分别为区分大小写不匹配及不区分大小写不匹配

文件及目录匹配,其中:

  • -f!-f用来判断是否存在文件
  • -d!-d用来判断是否存在目录
  • -e!-e用来判断是否存在文件或目录
  • -x!-x用来判断文件是否可执行

flag标记

  • last 相当于Apache里的[L]标记,表示完成rewrite
  • break 终止匹配, 不再匹配后面的规则
  • redirect 返回302临时重定向 地址栏会显示跳转后的地址
  • permanent 返回301永久重定向 地址栏会显示跳转后的地址
变量名	功能
$host	请求信息中的 Host,如果请求中没有Host行,则等于设置的服务器名
$request_method	客户端请求类型,如 GET、 POST
$remote_addr	客户端的 IP地址
$args	请求中的参数
$content_length	请求头中的 Content-length字段
$content_type	请求头中的 Content-Type字段
$http_user_agent	客户端agent信息
$http_cookie	客户端cookie信息
$remote_addr	客户端的IP地址
$remote_port	客户端的端口
$server_protocol	请求使用的协议,如HTTP/1.0、·HTTP/1.1
$server_addr	服务器地址
$server_name	服务器名称
$server_port	服务器的端口号
$document_root	针对当前请求的根路径设置值
$uri	请求的URI,可能和最初的值有不同,比如经过重定向之类的
$document_uri	与$uri相同
$limit_rate	对连接速率的限制
$request_uri	请求的URI,带查询字符串
$query_string	与$args相同
$scheme	所用的协议,http或者是https

root和alias

指令使用

location /i/ {
    root /data/w3;
    # 为请求设置根目录
}
# 访问 /i/test.jpg 实际查找的路径为 /data/w3/i/test.jpg

location /i/ {
    alias /data/w3/;
    # 为请求设置指定位置的替换
}
# 访问 /i/test.jpg 实际查找的路径为 /data/w3/test.jpg

root指定目录,路径为 root + $uri
alias指定目录 路径为 alias + 资源名

其它区别

  • alias 只能作用在location中,而root可以存在server、http和location中。

  • alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 “/” 可有可无。

  • 如果别名是在用正则表达式定义的位置中使用的,那么这种正则表达式应该包含捕获,别名应该引用这些捕获 ,例如:

    location ~ ^/users/(.+\\.(?:gif|jpe?g|png))$ {
        alias /data/w3/images/$1;
    }
    
  • 能用root实现的不要用alias

allow和deny

指令使用

访问控制指令

# 访问控制
location / {
    allow xx.xx.xx.xx;
    allow 10.1.0.0/16;
    allow 192.0.0.0/8;
    allow 172.0.1.0/24;
    # allow all;
    deny all;
}
# 执行时 从上到下,匹配到就跳出

try_files

try_files指令说明

try_files指令
语法:try_files file ... uri 或 try_files file ... = code
默认值:无
作用域:server location

其作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

需要注意的是,只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。命名的location也可以使用在最后一个参数中。与rewrite指令不同,如果回退URI不是命名的location那么$args不会自动保留,如果你想保留$args,则必须明确声明。

try_files $uri $uri/ /index.php$is_args$args;

到此这篇关于nginx 常用指令 try_files allow root alias的使用的文章就介绍到这了,更多相关nginx try_files allow root alias内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • nginx代理80端口不生效的解决方案

    nginx代理80端口不生效的解决方案

    如果你的 Nginx 代理配置了端口 80,并且访问时仍然显示默认的 Nginx 页面,可能有许多原因导致,本文给大家介绍了产生的原因和解决方案,具有一定的参考价值,需要的朋友可以参考下
    2024-02-02
  • Nginx日志文件在哪及如何从中提取时间信息

    Nginx日志文件在哪及如何从中提取时间信息

    Nginx提供了一个非常灵活的日志记录功能,它可以使每个块的配置拥有各自独立的日志进行记录,并且根据记录内容的不同又分为访问日志和错误日志,这篇文章主要介绍了Nginx日志文件在哪及如何从中提取时间信息的相关资料,需要的朋友可以参考下
    2025-10-10
  • Nginx图片防盗链配置实例

    Nginx图片防盗链配置实例

    这篇文章主要介绍了Nginx图片防盗链配置实例,并对代码做了详细的说明,让你充分理解配置的意图,需要的朋友可以参考下
    2014-07-07
  • nginx返回json或者文本格式的方法

    nginx返回json或者文本格式的方法

    下面小编就为大家分享一篇nginx返回json或者文本格式的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Nginx中fastcgi_cache实现PHP页面缓存加速

    Nginx中fastcgi_cache实现PHP页面缓存加速

    Nginx使用cgi_cache缓存PHP生成的动态页面,降低后端负载并提升响应速度,配置方案包括缓存控制、自定义缓存时间、缓存清理等等关键响应头,感兴趣的可以了解一下
    2026-04-04
  • 使Nginx服务器支持中文URL的相关配置详解

    使Nginx服务器支持中文URL的相关配置详解

    这篇文章主要介绍了使Nginx服务器支持中文URL的相关配置方法,搜索引擎方面Google目前对中文URL的支持度也很好,需要的朋友可以参考下
    2016-01-01
  • 详解nginx日志定时备份和删除

    详解nginx日志定时备份和删除

    本篇文章主要介绍了nginx日志定时备份和删除 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Nginx配置为HTTPS的完整步骤(支持 SSL/TLS 加密)

    Nginx配置为HTTPS的完整步骤(支持 SSL/TLS 加密)

    Nginx是一个高性能的HTTP和反向代理web服务器,是运维中十分常用的中间件,HTTPS协议简单来说就是HTTP协议和SSL/TLS协议的组合,这篇文章主要介绍了Nginx配置为HTTPS(支持 SSL/TLS 加密)的相关资料,需要的朋友可以参考下
    2025-11-11
  • 部署Kibana及nginx代理访问环境方式

    部署Kibana及nginx代理访问环境方式

    在elk-node03节点上部署Kibana并使用Nginx进行代理访问和权限控制,配置多个端口的Kibana,每个系统单独开一个端口,并通过Nginx做代理访问配置,每个系统的业务日志在对应的端口Kibana界面展示,配置Nginx反向代理及访问验证,包括设置虚拟主机和验证文件
    2024-11-11
  • nginx 防盗链防爬虫配置详解

    nginx 防盗链防爬虫配置详解

    这篇文章主要介绍了nginx 防盗链防爬虫配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10

最新评论