开发者社区> 余二五> 正文

nginx域名跳转

简介:
+关注继续查看

1. 编辑虚拟主机配置文件/usr/local/nginx/conf/vhosts/huangzhenping.conf

    说明:nginx新增域名直接在server_name行添加(而apache用alias);$host表示域名标量;$1表示域名后面的内容;permanent表示永久重定向


1
2
3
4
5
6
7
8
9
10
server
{
    listen 80;
    server_name www.huangzhenping.cn www.huanglearn.cn;
    if ($host != 'www.huangzhengping.cn')
    {
      rewrite ^/(.*)$ http://www.huangzhenping.cn/$1 permanent;
    }
    index index.html index.htm index.php;
    root /data/www;


flag标记:

last:相当于apache的[L]标记,表示完成rewrite;之后搜索相应的url或者location

break:表示终止匹配

redirect:返回302临时重定向

permanent:返回301永久重定向


if正则:

~            区分大小写匹配

~*          不区分大小写匹配

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

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

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

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

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


全局变量:

$args   请求中的参数

$body_bytes_sent       已发送的消息体字节数

$content_length        HTTP请求信息里的"Content-Length"

$content_type       请求信息里的"Content-Type"

$document_root          针对当前请求的根路径设置值

$document_uri           与$uri相同; 比如 /test1/test2/test.php

$host       请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名; 

$http_cookie         cookie 信息

$http_referer         引用地址

$http_user_agent          客户端代理信息

$http_x_forwarded_for            

$remote_addr        客户端地址

$remote_port          客户端端口号

$remote_user         客户端用户名,认证用

$request          用户请求

$request_body_file       发往后端的本地文件名称  

$request_filename        当前请求的文件路径名,比如$request_filename:D:\nginx/html/test1/test2/test.php

$request_method        请求的方法,比如"GET"、"POST"等

$request_uri      请求的URI,带参数; 比如http://localhost:88/test1/test2/test.php

$scheme            所用的协议,比如http或者是https,比rewrite^(.+)$$scheme://example.com$1redirect; $server_addr          

$server_addr      服务器地址,如果没有用listen指明服务器地址,使用这个变量将发起一次系统调用以取得地址(造成资源浪费)

$server_name     请求到达的服务器名

$server_port       请求到达的服务器端口号

$server_protocol   请求的协议版本,"HTTP/1.0"或"HTTP/1.1"

$uri     请求的URI,可能和最初的值有不同,比如经过重定向之类的


 wKioL1iupauCRI15AAAs-DsKGfs469.png


   /usr/local/nginx/sbin/nginx -t

   /usr/local/nginx/sbin/nginx -s reload


2. 使用curl验证,成功跳转

    说明:www.huanglearn.cn网站跳转到www.huangzhenping.cn

 wKiom1iupbjgxloyAAAkGsU6OT4191.png










本文转自 huangzp168 51CTO博客,原文链接:http://blog.51cto.com/huangzp/1900635,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Nginx:配置HTTPS网址加上绿锁头
Nginx:配置HTTPS网址加上绿锁头
98 0
Nginx:不带www域名301重定向到www域名
Nginx:不带www域名301重定向到www域名
74 0
使用nginx配置一个ip对应多个域名
使用nginx配置一个ip对应多个域名
304 0
Nginx限制IP访问只允许特定域名访问
为了我们的服务器安全,我们需要禁止直接使用 IP 访问我们的服务器,我们可以借助 Nginx 完成
275 0
网关-Nginx禁止通过IP访问,允许域名访问
Nginx开启域名访问模式,屏蔽通过IP访问
131 0
通过备案的域名访问,不需要添加端口号(nginx反向代理,直接域名访问)
通过备案的域名访问,不需要添加端口号(nginx反向代理,直接域名访问)
340 0
Nginx:配置HTTPS网址加上绿锁头
Nginx:配置HTTPS网址加上绿锁头
55 0
Nginx配置小程序域名(HTTPS
Nginx配置小程序域名(HTTPS
384 0
nginx配置域名转发、反向代理、负载均衡
本文是博主学习nginx的记录,希望对大家有所帮助。
1001 0
Nginx 禁止IP 只允许域名访问
比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦。就可以这样设置:
464 0
+关注
余二五
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
“域”见更美好的未来——域名筑梦互联网+
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载