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,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
程序员 开发工具 Android开发
Android|WebView 禁止长按,限制非白名单域名的跳转层级
如何限制 WebView 仅域名白名单网址能随意跳转,并禁用长按选择文字。
119 2
|
8月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
10月前
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
|
11月前
|
JavaScript 前端开发 应用服务中间件
Nginx——一个域名下部署多个Vue项目
如何在同一域名下部署第二个Vue项目而不影响现有项目:更新`vue.config.js`,设置`publicPath`为`/screen/`。修改Vue Router的`base`为`screen`。在Nginx配置中添加新location `/screen`,指向第二项目`dist`目录。测试访问`http://<域名>/screen/`。别忘了检查并修复任何遗漏的配置,如数据看板默认设置。
531 2
|
10月前
|
JavaScript
JS 判断域名并跳转到指定页面
JS 判断域名并跳转到指定页面
80 0
|
11月前
|
网络协议 应用服务中间件 网络安全
如何排查Nginx配置问题导致的域名访问错误
如何排查Nginx配置问题导致的域名访问错误
1211 2
|
应用服务中间件 nginx
Nginx中如何配置中文域名?
Nginx中如何配置中文域名?
|
小程序 安全 网络协议
Nginx配置小程序域名(HTTPS
Nginx配置小程序域名(HTTPS
Nginx配置小程序域名(HTTPS
|
域名解析 监控 网络协议
使用nginx配置一个ip对应多个域名
使用nginx配置一个ip对应多个域名
1823 1
使用nginx配置一个ip对应多个域名
|
缓存 负载均衡 应用服务中间件
nginx配置域名转发、反向代理、负载均衡
本文是博主学习nginx的记录,希望对大家有所帮助。
3265 0