nginx的常见rewrite规则讲解和示例

1、域名跳转 场景一:使用了新域名newdomain.com,要将老域名olddomain.com流量导过来。 if ($host = olddomain.com ) { rewrite ^/(.*)$ http://newdomain.com/$1 permanent; } 场景二:使用了新域名newdomain.com,要将其他域名的流量导过来。 if ($host !
1、域名跳转

场景一:使用了新域名newdomain.com,要将老域名olddomain.com流量导过来。
      if ($host = 'olddomain.com' ) {
                rewrite  ^/(.*)$  http://newdomain.com/$1  permanent;
     }

场景二:使用了新域名newdomain.com,要将其他域名的流量导过来。
     if ($host != 'www.newdomain.com' ) {
          rewrite  ^/(.*)$  http://www.newdomain.com/$1  permanent;
     }
这样配置后,用户输入sina.com.cn也可以正常访问到www.sina.com.cn

2、url跳转

场景一:访问A页面,跳转至B页面,浏览器地址栏还是老url,即A页面地址
      rewrite ^/A.html$ /html/B.html last;

场景二:访问A页面,跳转至B页面,浏览器地址栏是新url,即B页面地址
      rewrite ^/A.html$ /html/B.html permanent;

场景三:当访问的文件和目录不存在时,重定向到某个php文件

if( !-e $request_filename )

{

rewrite ^/(.*)$ index.php last;

}

场景四:禁止访问多个目录 

 

location ~ ^/(cron|templates|shell)/

{

deny all;

break;

}

 

场景五:禁止访问以文件后缀名的文件

location ~ .*\.(sh|txt|conf|doc|py)$

{

return 403;

}

 

场景六:设置某些类型文件的浏览器缓存时间

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 30d;

}

location ~ .*\.(js|css)$

{

expires 1h;

}


-------------------------------------------------------------------------------------------
nginx rewrite知识讲解
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

一:确定你的系统是UTF编码 [root@Tserver ~]# env|grep LANG LANG=en_US.UTF-8 二:NGINX配置文件里默认编码设置为utf-8 server { listen 80; server_name .inginx.com ; index index.html index.htm index.php; root /usr/local/nginx/html/inginx.com; ch
有客户反馈在安装网站后,woff、woff2字体无法加载,导致无法显示图标文件,这种情况要怎么解决呢? 这是因为服务器IIS默认是没有SVG,WOFF,WOFF2这几个文件类型的扩展的,所以如果要解决,我们就要在IIS上添加MIME 类型即可。 解决方法: 1、打开服务器IIS管
7-Zip是一款号称有着现今最高压缩比的压缩软件,它不仅支持独有的7z文件格式,而且还支持各种其它压缩文件格式,其中包括ZIP, RAR, CAB, GZIP, BZIP2和TAR。此软件压缩的压缩比要比普通ZIP文件高30-50%。因此,它可以把经WinZip压缩的文件再压缩2-10%。文件
安装 Apache 出现 OS 10013 以一种访问权限不允许的方式做了一个访问套接字的尝试 如下截图: 提示: make_sock: could not bind to address 0.0.0.0:80 这个问题有由于计算机上安装了IIS7,80端口已占用。 打开Apache 的配置文件 Apache安装目录下的conf/htt
很多网站需要采用伪静态来访问动态网页。所以像phpcms这样的系统,都提供了一个.htaccess文件,供写伪静态规则。但这个规则是针对Apache的。在nginx服务器上并不起作用。 nginx 可以直接将伪静态规则写在配置文件中,但这个需要有服务器管理权限,普通站长不
JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。 下载解压,然后双击安装,跟普通安装程序一样。 安装完毕之后就是需要我们来设置环境变量了 假设jre安装目录为 C:\Program Files (x86)\J