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知识讲解