nginx重定向配置
1.重定向配置
# /etc/nginx/nginx.conf
#写在server,location核心模块中,if也可以写。$http_host客户端设法要到达主机的主机名
if ($http_host !~ “^www\.yourdomain\.com$”) {
#rewrite 重写模块,重定向到其他的location
#第一个参数为URI的相对路径,而且没有参数,二个需要对参数进行处理。URI后面添加一个参数。
rewrite ^(.*) http://www.youdomain.com$1 permanent;
} Nginx的 Rewrite Flags:
last – 新的URL查找到location区域,但是后面的rewrite指令失效
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301
看看break的具体功能
#请求的uri的文件存在,break指令会阻止nginx改写URI
if(-f $uri){
break;
}
if($uri ~^/seach/(.*)$){
set $query $;
rewrite ^ /search.php?q=$query?;
}
#改写类似/search/anything成为/search/anything,如果$URI存在,则不被修改。
另外还有return指令、set指令、uninitialized_variable_warn指令、rewrite_log指令,这些都比较简单,查询具体用法即可。
需要介绍的指令是:
server_name_in_redirect:on或者off,默认值为on,
on:使用server_name指令的第一个主机名来进行重定向。
off:使用客户端HTTP请求头中的HOST的值进行重定向。
port_in_redirect:on或者off,默认值为on
是否将端口重定向后添加到URL中。nginx转发到tomcat,nginx的端口和tomcat的端口不一致,tomcat进行重定向之后,
tomcat把包交给nginx之后,nginx在location前面加上了自己的端口号,可能会造成连接不上的情况。
2.nginx操作
在env/nginx/sbin目录下输入:nginx,即可重启!
nginx -V //查看当前运行的配置信息
3.小技巧
1.linux下查看nginx的安装目录:输入命令行: ps -ef | grep nginx
平滑重启命令:/usr/nginx/sbin/nginx -s reload
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf
或者
/usr/nginx/sbin/nginx -t
5.对目录的重新部署域名
location /handler/online { //指定目录
add_header x-nodejs openapidev;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header realip $remote_addr;
proxy_pass http://nodejs_openapi_dev; }
//
如果排除目录,则location /handler/(^online)
upstream nodejs_openapi_dev { #upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。 server 127.0.0.1: weight=; }
nginx重定向配置的更多相关文章
- Nginx中的Rewrite的重定向配置与实践
阅读目录 一:理解地址重写 与 地址转发的含义. 二:理解 Rewrite指令 使用 三:理解if指令 四:理解防盗链及nginx配置 简介:Rewrite是Nginx服务器提供的一个重要的功能, ...
- Nginx安装配置|Nginx反向代理|Nginx支持HTTPS|Nginx重定向
Nginx安装配置 可以直接看到最下面的HTTPS. Nginx安装 我的系统如下: No LSB modules are available. Distributor ID: Ubuntu Desc ...
- Nginx Location配置总结
Nginx Location配置总结 语法规则: location [=|~|~*|^~] /uri/ { - }= 开头表示精确匹配^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即 ...
- 在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解
看了很多nginx的配置,好像都忽略了ip直接访问web的问题,不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面. 官方文档中提供的方法: If you d ...
- NGINX下配置404错误页面的方法分享
NGINX下配置自定义的404页面是可行的,而且很简单,只需如下几步,需要的朋友可以参考下 1. 创建自己的404.html页面 2.更改nginx.conf在http定义区域加入: fastcg ...
- nginx重定向规则入门
nginx重定向规则的入门实例 时间:2015-12-17 15:18:03来源:网络 导读:nginx重定向规则,Nginx的重定向模块HttpRewriteModule的用法说明,nginx重定向 ...
- Nginx 基本配置和日志分析
最近在维护的一个项目,路由转发规则都统一通过Nginx转发,所以再次参考部分博文和书本,熟悉Nginx的基本配置,还有一个重点也是日志的分析 Nginx 常用模块是server块,location块. ...
- nginx重定向规则详细介绍
为何要使用301重定向 在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名.网页的扩展名改变.网站域名改变等.如果不做重定向,用户的收藏和搜索引擎数据库中的旧地址只能让访客得到一个4 ...
- nginx的配置与安装
说说在Linux系统下安装配置Nginx的详细过程. 1. 从Nginx官网下载Nginx.目前最新的稳定版为:1.6.2. 2. 将下载下来的Nginx上传到/opt/nginx目录下.运行“tar ...
随机推荐
- android部分开发摘要
Async 异步 不会阻塞当前线程sync 同步 数据库是应用软件|结构化数据存储 JDBC SQL ellipsis 省略 content provider URI thread--lo ...
- 【BZOJ 4269】再见Xor
zky学长提供的线性基求法: for(int i=1;i<=n;i++) for(int j=64;j>=1;j--) { if(a[i]>>(j-1)&1) { if ...
- mysql5.5的安装与配置(亲测版)
mysql5.5.x的编译安装 说明:5.5和5.1差不多,只是在编译时增加了一个cmake,其他基本一样,mysql5.5默认编码是utf-8,在使用mysql5.5配置lnmp或者lamp后安装d ...
- sublime text 如何设置”在浏览器浏览“的快捷键
sublime text编辑器极其强大 ,但在刚开始用的时候,每次在浏览器中查看非得右键鼠标----”open in browser“,着实觉得麻烦....百度之,上面的方法有很多,但是根据我自己的经 ...
- 【HDU 5744】Keep On Movin
找出奇数个的数有几个,就分几组. #include<cstdio> #include<cstring> #include<algorithm> #include&l ...
- Value和Object的区别
在使用NSMutableDictionary的时候经常会使用setValue forKey与setObject forKey,他们经常是可以交互使用的,代码中经常每一种的使用都有. 1,先看看setV ...
- TLS版本
常见应用: https其实就是建构在SSL/TLS之上的 http协议. 1) setProtocol="TLS" will enable SSLv3 and TLSv1 2) s ...
- Leetcode First Bad Version
You are a product manager and currently leading a team to develop a new product. Unfortunately, the ...
- 在VS里配置及查看IL
在VS里配置及查看IL 来源:网络 编辑:admin 在之前的版本VS2010中,在Tools下有IL Disassembler(IL中间语言查看器),但是我想直接集成在VS2012里使用,方法如下: ...
- Restful api介绍
网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......). 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致AP ...