首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果特定字符串不存在,则nginx regex重定向

nginx是一款高性能的开源Web服务器和反向代理服务器,它支持使用正则表达式进行URL重定向。在nginx中,可以使用rewrite指令结合正则表达式来实现重定向功能。

如果要实现特定字符串不存在时的重定向,可以使用nginx的rewrite指令结合正则表达式来匹配URL中的特定字符串,并进行重定向操作。具体的配置如下:

代码语言:txt
复制
server {
    listen 80;
    server_name example.com;

    location / {
        if ($request_uri !~* "特定字符串") {
            rewrite ^/(.*)$ http://newdomain.com/$1 permanent;
        }
    }
}

上述配置中,$request_uri表示当前请求的URI,!~*表示不匹配特定字符串。如果请求的URI中不包含特定字符串,则执行重定向操作,将请求重定向到http://newdomain.com/

在这个例子中,我们使用了rewrite指令进行重定向操作,并使用了permanent关键字表示永久重定向。你可以根据实际需求选择适合的重定向方式。

需要注意的是,nginx的rewrite指令是在服务器配置文件或虚拟主机配置文件中进行配置的。配置完成后,需要重新加载nginx配置文件才能生效。

推荐的腾讯云相关产品:腾讯云CDN(内容分发网络),它可以加速网站访问、提高用户体验,并提供了丰富的缓存策略和安全防护功能。你可以通过以下链接了解更多关于腾讯云CDN的信息:腾讯云CDN产品介绍

希望以上信息能对你有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Nginx http相关常用配置总结

为了在请求URI中查找匹配的location,nginx先匹配前缀字符串location,如果有多个匹配则会先记住拥有最长匹配前缀字符串的location(即匹配度最高的那个,和其在配置文件中的顺序无关...location匹配该URI,则服务器将会把/data/w3/i/top.gif返回给客户端,如果/data/w3/i/目录下不存在top.gif文件,那么默认的,nginx将会返回404错误。...通常,我们会这么做,把静态资源放nginx服务器,优先从nginx服务器上获取静态资源返回给前端,如果nginx服务器上找不到该文件,则去后端请求对应资源,如下: location ~ \....如果 index.html 文件存在,则直接发起“内部跳转”到 /index.html 这个新的地址;如果 index.html 文件不存在,则继续检查 index.htm 是否存在。...如果存在,同样发起“内部跳转”到/index.htm;如果 index.htm 文件仍然不存在,则404错误。

1.5K20

015.Nginx重定向

UCWEB)" ){ 2 rewrite ^/$ http://www.cnblogs.com permanent; 3 } 解释: $http_user_agent值若为相应的手机访问,则直接重定向至特定网页...-d #如果请求的目录不存在,但是该请求的上级目录存在,则返回true。如果该上级目录不存在,则返回false。 3 -e和!-e #用来判断是否存在文件或目录 4 -x和!...if指令来对nginx请求进行判断,若访问http://file.linuxds.com的资源存在root目录,则返回,若当前请求的资源文件不存在,则进行重定向跳转,重定向至 http://www.cnblogs.com...if指令来对nginx请求进行判断,若访问http://constant.linuxds.com的资源存在root目录,则返回,若当前请求的资源文件不存在,则进行重定向跳转,重定向至http://www.cnblogs.com...三 其他简略配置 1 # 如果文件不存在则返回400 2 if (!

6.2K20
  • nginx之rewrite模块

    rewrite模块即ngxhttprewrite_module模块,主要功能是改写请求URI,是nginx默认安装的模块,用于重写url进行内部跳转和重定向等。...# 匹配成功后跳转到百度,执行永久301跳转 regex是PCRE 风格的,如果regex匹配URI,那么URI就会被替换成replacement,replacement 就是新的URI。...regex 正则表达式: 字符 描述 \ 将后面接着的字符标记为一个特殊字符或者一个原义字符或一个向后引用 ^ 匹配输入字符串的起始位置 $ 匹配输入字符串的结束位置 * 匹配前面的字符零次或者多次 +...-e $request_filename ) { rewrite ^/(.*)$ index.php last; } 当访问的文件和目录不存在时,重定向到某个php文件 示例4 : rewrite ^/...id=123456 示例5 : if( $http_user_agent ~ MSIE) { rewrite ^(.*)$ /ie/$1 break; } 如果客户端使用的是IE浏览器,则重定向到/ie

    2.8K20

    深入理解Nginx的rewrite模块

    -f(不存在) 检测路径是否存在 使用 -d(存在) 和 !-d(不存在) 后面判断可以是字符串也可是变量 检测文件、路径、或者链接文件是否存在 使用 -e(存在) 和 !...-e(不存在) 后面判断可以是字符串也可是变量 检测文件是否为可执行文件 使用 -x(可执行) 和 !...replacement [flag]; rewrite 指令是使用指定的正则表达式regex来匹配请求的urI,如果匹配成功,则使用replacement更改URI。...如果替换字符串replacement以http://,https://或$ scheme开头,则停止处理后续内容,并直接重定向返回给客户端。...如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。 常规字符串匹配类型。按前缀匹配。

    1.8K20

    nginx部署React项目

    ,不存在就去查找@qwe值 } 上面的location模块中使用了try_files指令,该指令会依次按顺序检测根目录中的4.html文件和5.html文件,如果存在就正常显示,不存在就去执行@xxx...比如请求http://localhost/abc,服务器匹配到“/”后进入location,执行try_files指令,去root指定的根目录下查找4.html,如果查到则返回4.html内容,如果没有查找到...,则继续去root根目录下查找5.html,如果有的话,返回5.html的内容,如果没有就执行@xxx指令。...其主要功能就是使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。...这个语法啥意思呢,在nginx程序触发rewrite指令,程序会去匹配正则regex,匹配成功后,将请求的url中的regex部分换成replacement,然后发送请求,将请求结果返回给客户端,然后根据

    11.6K70

    Nginx---Rewrite

    -d", 当使用"-d"时,如果请求的目录存在,if返回true,如果目录不存在则返回false 当使用"!...-d"时,如果请求的目录不存在但该目录的上级目录存在则返回true,该目录和它上级目录都不存在则返回false,如果请求目录存在也返回false. 6.判断请求的目录或者文件是否存在使用"-e"和"!...、if regex:用来匹配URI的正则表达式 replacement:匹配成功后,用于替换URI中被截取内容的字符串。...如果不加斜杠,Nginx服务器内部会自动做一个301的重定向,重定向的地址会有一个指令叫server_name_in_redirect on|off;来决定重定向的地址: 如果该指令为on 重定向的地址为.../hm如果不加斜杠,那么按照上述规则,如果指令server_name_in_redirect为on,则301重定向地址变为 http://localhost/hm/, 如果为off,则301重定向地址变为

    96910

    nginx之rewrite详解1

    Nginx URL重写(rewrite)介绍 和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向。...Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的。...默认参数编译nginx就会支持rewrite的模块,但是也必须要PCRE的支持. rewrite是实现URL重写的关键指令,根据regex(正则表达式)部分内容,重定向到replacement,结尾是flag...flag部分 permanent表示永久301重定向标记,即跳转到新的 http://www.test.com/$1 地址上 regex 常用正则表达式说明: 字符 描述 \ 将后面接着的字符标记为一个特殊字符或一个原义字符或一个向后引用...如“\n”匹配一个换行符,而“\$”则匹配“$” ^ 匹配输入字符串的起始位置 $ 匹配输入字符串的结束位置 * 匹配前面的字符零次或多次。

    1.9K30

    Nginx:rewrite 的几个技巧

    在软件的发布中,我们经常会使用到 Nginx,Nginx 的功能非常的庞杂,其中 rewrite 是一个非常常用的功能模块,本文介绍 rewrite 的基本概念和几个小技巧。...rewrite 是 Nginx 中的一个模块,这个模块用来重定向页面,在 rewrite 模块中包含了几个指令来实现不同的功能: return rewrite if return 指令 return 指令是...语法 rewrite regex replacement [flag]; return 指令的语法四个部分组成: rewrite:关键字 regex:正则表达式,用于匹配用户请求的 url 地址 replacement...使用范围 server 节点 location 节点 if 块中 rewrite 指令的适用范围和 return 指令的是一致的,优先级也相同 当 rewrite 指令和 return 指令同时存在时,如果...语法 if(condition){ } 使用范围 server 节点 location 节点 if 判断的一些规则 变量和字符串做比较,使用 = 或 !

    1.1K10

    Nginx系列教程(7)nginx rewrite配置规则详细说明

    SEO优化 维护:后台维护、流量转发等 安全 注:nginx官方文档:http://nginx.org/en/docs/http/ngx_http_rewrite_module.html 配置语法 Syntax...: rewrite regex replacement flag; Default:—— Context:server、location、if rewrite语法 server { rewrite...{规则} {定向路径} {重写类型} ; } 1、规则:可以是字符串或者正则来表示想匹配的目标url 2、定向路径:表示匹配到规则后要定向的路径,如果规则里有正则,则可以使用$index来表示正则里的捕获分组...停止rewrite检测【如果没有匹配到,则不再向下匹配,直接返回结果404】 redirect:返回302临时重定向,浏览器地址会显示跳转后的URL地址。...20190616231919986-1190783096.png] 访问:http://www.zhangbiao.com/course-11-22-5 访问在 /opt/app/code/course/11/22 下不存在的资源文件

    7.3K00

    Nginx 静态资源访问

    -f 』时,如果请求文件不存在,但该文件所在目录存在返回 true,文件和目录都不存在返回 false,如果文件存在返回 false。...-d 』 当使用『 -d 』时,如果请求的目录存在,返回 true,如果目录不存在则返回 false。 当使用『 !...-d 』时,如果请求的目录不存在但该目录的上级目录存在则返回 true,该目录和它上级目录都不存在则返回 false,如果请求目录存在也返回false。...if regex:用来匹配 URI 的正则表达式 replacement:匹配成功后,用于替换 URI 中被截取内容的字符串。...如果不加斜杠,Nginx 服务器内部会自动做一个 301 的重定向,重定向的地址会有一个指令叫 server_name_in_redirect 来决定重定向的地址: 如果该指令为 on 重定向的地址为

    7.8K20

    【NGINX入门】6.Nginx的rewrite规则详解

    语法: rewrite regex replacement [flag]; 如果相对域名或参数字符串起作用,可以使用全局变量匹配,也可以使用proxy_pass反向代理。...://www.imooc.com,浏览器会重定向到这个网址, 当我们再次访问http://walidream.com/imooc,nginx还是会先匹配再替换然后重定向。...如果为真,大括号内的rewrite指令将被执行,if条件(conditon)可以是如下任何内容: (1) 当表达式只是一个变量时,如果值为空或任何以0开头的字符串都会当做false (2) 直接比较变量和内容时...405; } //如果提交方法为POST,则返回状态405(Method not allowed)。...-f $request_filename){ break; proxy_pass http://127.0.0.1; } //如果请求的文件名不存在,则反向代理到localhost

    4.3K10
    领券