`

常用nginx rewrite重定向-跳转实例:

 
阅读更多
                                         忘记怎么重定向跳转就来看这个文章!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
----------------------------------------------------------------------------------------


1,将www.myweb.com/connect 跳转到connect.myweb.com

rewrite ^/connect$ http://connect.myweb.com permanent;

rewrite ^/connect/(.*)$ http://connect.myweb.com/$1 permanent;

 

2,将connect.myweb.com 301跳转到www.myweb.com/connect/ 

if ($host = "connect.myweb.com"){

rewrite ^/(.*)$ http://www.myweb.com/connect/$1 permanent;

    }

 

3,myweb.com 跳转到www.myweb.com

if ($host != 'www.myweb.com' ) { 

rewrite ^/(.*)$ http://www.myweb.com/$1 permanent; 

    }

 

4,www.myweb.com/category/123.html 跳转为 category/?cd=123

rewrite "/category/(.*).html$" /category/?cd=$1 last;

 

5,www.myweb.com/admin/ 下跳转为www.myweb.com/admin/index.php?s=

if (!-e $request_filename){

rewrite ^/admin/(.*)$ /admin/index.php?s=/$1 last;

    }

 

6,在后面添加/index.php?s=

if (!-e $request_filename){

    rewrite ^/(.*)$ /index.php?s=/$1 last;

    }

 

7,www.myweb.com/xinwen/123.html  等xinwen下面数字+html的链接跳转为404

rewrite ^/xinwen/([0-9]+)\.html$ /404.html last;

 

8,http://www.myweb.com/news/radaier.html 301跳转 http://www.myweb.com/strategy/

rewrite ^/news/radaier.html http://www.myweb.com/strategy/ permanent;

 

9,重定向 链接为404页面

rewrite http://www.myweb.com/123/456.php /404.html last;

 

10, 禁止htaccess

location ~//.ht {

         deny all;

     }

 

11, 可以禁止/data/下多级目录下.log.txt等请求;

location ~ ^/data {

     deny all;

     }

 

12, 禁止单个文件

location ~ /www/log/123.log {

      deny all;

     }

 

13, http://www.myweb.com/news/activies/2014-08-26/123.html 跳转为 http://www.myweb.com/news/activies/123.html

 

rewrite ^/news/activies/2014\-([0-9]+)\-([0-9]+)/(.*)$ http://www.myweb.com/news/activies/$3 permanent;

 

14,nginx多条件重定向rewrite

如果需要打开带有play的链接就跳转到play,不过/admin/play这个不能跳转

        if ($request_filename ~ (.*)/play){ set $payvar '1';}
        if ($request_filename ~ (.*)/admin){ set $payvar '0';}
        if ($payvar ~ '1'){
                rewrite ^/ http://play.myweb.com/ break;
        }

 

15,http://www.myweb.com/?gid=6 跳转为http://www.myweb.com/123.html

 if ($request_uri ~ "/\?gid\=6"){return  http://www.myweb.com/123.html;}

 

正则表达式匹配,其中:

* ~ 为区分大小写匹配

* ~* 为不区分大小写匹配

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

文件及目录匹配,其中:

* -f和!-f用来判断是否存在文件

* -d和!-d用来判断是否存在目录

* -e和!-e用来判断是否存在文件或目录

* -x和!-x用来判断文件是否可执行

flag标记有:

* last 相当于Apache里的[L]标记,表示完成rewrite

* break 终止匹配, 不再匹配后面的规则

* redirect 返回302临时重定向 地址栏会显示跳转后的地址

* permanent 返回301永久重定向 地址栏会显示跳转后的地址

分享到:
评论

相关推荐

    实例讲解nginx的rewrite规则

    ### 实例讲解Nginx的rewrite规则 #### 正则表达式匹配 在Nginx中,使用`rewrite`指令可以实现对URL的重写,其中涉及到正则表达式的匹配方式有以下几种: 1. **区分大小写的匹配**:使用`~`符号,例如:`rewrite ^/...

    nginx 伪静态 重定向

    ### Nginx 伪静态与重定向:深入解析与应用实例 #### 1. 引言 在现代网站开发与维护中,面对网页目录结构变动、网页重命名、扩展名改变或是网站域名变更等场景,如何高效处理这些变化,确保用户体验不受影响,同时...

    Nginx重定向的配置实例

    在/usr/local/nginx/conf/nginx.conf中: server { … ##begin add by guozhenbin 20100727 location /b2c/ { if (!-e $request_filename) { rewrite ^/b2c/(.*)$ /b2c/index.php?$1 last; } } ##end add by ...

    nginx页面跳转新方式

    本文将详细介绍如何使用Nginx实现`refresh`方式的页面跳转,并通过具体的实例进行说明。 #### 二、Nginx配置详解 ##### 1. 配置代理转发 为了实现页面跳转功能,首先需要在Nginx配置文件中添加代理转发配置。这一...

    nginx之rewrite

    Nginx中的rewrite模块是一个非常实用的功能,它允许用户在服务器中动态地重写URL,实现URL的灵活处理,包括URL重定向和内部跳转等操作。rewrite规则在nginx的配置文件中定义,通常在server、location和if指令块中...

    Nginx 转发匹配规则的实现

    5. **Nginx Rewrite规则编写实例** - 当请求的文件或目录不存在时,重定向到`index.html`。 - 将路径形如`/123456/xxxx`的请求转换为`/xxxx?id=123456`。 - 如果用户使用的是IE浏览器,重定向至`/ie`目录。 - ...

    Nginx Rewrite规则与使用介绍和技巧实例

    Nginx的rewrite规则编写实例展示了在不同情况下如何应用rewrite规则来满足特定的业务需求: 1. 当访问的文件或目录不存在时,可以重定向到指定的PHP文件,以避免返回404错误页面。 2. 通过正则表达式可以对请求的...

    Nginx的伪静态配置中使用rewrite来实现自动补全的实例

    本篇将详细介绍如何在Nginx中利用`rewrite`指令实现自动补全功能,以及相关的正则表达式和配置参数。 在Nginx中,`rewrite`指令用于URL重写,它允许我们根据特定的规则改变请求的URI。在提供的实例中,目标是实现当...

    如何在使用应用程序网关和Nginx的环境下实现强制HTTPS跳转1

    首先,我们需要在 Nginx 配置文件中添加 rewrite 规则,以便将 HTTP 请求重定向到 HTTPS。例如,我们可以在 Nginx 配置文件中添加以下规则: ``` server { listen 80; server_name example.com; rewrite ^(.*)$ ...

    Nginx实现多虚拟主机配置.docx

    在Nginx中,实现多虚拟主机配置是其核心功能之一,允许在一个单一的Nginx实例上托管多个独立的网站或应用程序。 在Nginx中,`rewrite`模块是核心模块之一,它提供了强大的URL重写功能。`ngx_http_rewrite_module`...

    Nginx图片防盗链配置实例

    Nginx图片防盗链配置是保护网站资源不被其他站点无授权引用的一种技术措施,它有助于减少不必要的带宽消耗和流量损失。以下是对Nginx图片防盗链配置的详细解释: 1. **基本原理**: 图片防盗链主要是通过检查HTTP...

    ThinkPHP3基础知识文档

    ##### 重定向与跳转的区别 - **重定向**:发送HTTP状态码302,并提供新的URL给客户端。 - **跳转**:使用JavaScript进行页面跳转,不发送HTTP重定向。 ##### 空控制器 - **处理不存在的控制器**:当请求的控制器不...

    Nginx的try_files指令使用实例

    这个指令允许 Nginx 按照指定的顺序依次查找文件,如果找到则返回该文件,如果所有文件都未找到,则根据最后一个参数执行内部重定向或者返回特定状态码。以下是对 `try_files` 指令的详细解释和一些实用实例。 **...

    PHP实例开发源码—微信域名防封三合一源码(单个域名跳转 多个域名跳转 浏览器打开).zip

    这通常涉及到URL重写和服务器配置,如Apache或Nginx的rewrite规则,以及PHP的header函数来实现HTTP状态码的改变和URL的跳转。 2. **多个域名跳转**:考虑到一个备用域名可能也会被封禁,源码还提供了多域名跳转的...

    Nginx 配置根据请求IP末段进行分流的方法

    在Nginx服务器的配置中,根据客户端IP地址末段进行流量分流是一种常见的优化策略,可以有效分摊服务器负载和管理不同服务实例。本篇将详细介绍如何利用Nginx的配置实现这一功能。 首先,我们需要定义两个上游服务器...

    详解HTTP状态码

    Nginx下301重定向域名的方法小结Apache Rewrite实现URL的301跳转和域名跳转比较详细的win2003 IIS6.0 301重定向带参数的问题解决方法IIS7.5下301重定向的设置方法(及伪静态后301重定向出错案例)php 301转向实现代码...

    vue-cli 打包使用history模式的后端配置实例

    <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] ...

Global site tag (gtag.js) - Google Analytics