实验环境
| 服务端 | ip | 环境 |
|---|---|---|
| server1 | 172.25.55.1 | 关闭防火墙,添加域名解析 |
| founcation55 | 172.25.55.250 | 关闭防火墙,添加域名解析 |
一、编译、安装ngix
[root@server1 nginx-1.14.2]# ./configure --prefix=/usr/local/nginx/ --with-http_realip_module --with-http_image_filter_module=dynamic --with-http_ssl_module [root@server1 nginx-1.14.2]# yum install openssl-devel -y [root@server1 nginx-1.14.2]# ./configure --prefix=/usr/local/nginx/ --with-http_realip_module --with-http_image_filter_module=dynamic --with-http_ssl_module [root@server1 nginx-1.14.2]# make [root@server1 nginx-1.14.2]# cd objs/ [root@server1 objs]# cp nginx /usr/local/nginx/sbin/ [root@server1 objs]# cp ngx_http_image_filter_module.so /usr/local/nginx/modules/(没有modules目录,手动创建)
二、测试nginx功能
编辑nginx的配置文件:
[root@server1 certs]# vim /usr/local/nginx/conf/nginx.conf
134 server {
135 listen 80;
136 server_name www.westos.org;
137
138 location / {
139 root /web;(访问的资源路径)
140 index index.html;
141 }
142
143 }
[root@server1 certs]# nginx -s reload(重载服务)
创建/web目录编辑网页文件index.html。
客户端添加域名解析: [root@foundation55 新6]# cat /etc/hosts 172.25.55.1 www.westos.org bbs.westos.org
测试:客户端访问www.westos.org

常见http状态码含义:
| 状态码 | 含义 |
|---|---|
| 200 | 请求成功 |
| 301 | 被请求的资源已永久移动到新位置 |
| 302 | 请求的资源临时从不同的 uri响应请求 |
| 404 | 请求失败 |
三、重定向一:http---->https
添加证书
[root@server1 objs]# cd /etc/pki/tls/certs [root@server1 certs]# make cert.pem

将证书文件复制到nginx下的conf目录下:
[root@server1 certs]# cp cert.pem /usr/local/nginx/conf/
编辑nginx配置文件:
[root@server1 certs]# vim /usr/local/nginx/conf/nginx.conf
100 server {
101 listen 443 ssl;
102 server_name www.westos.org;
103
104 ssl_certificate cert.pem;
105 ssl_certificate_key cert.pem;
106
107 ssl_session_cache shared:ssl:1m;
108 ssl_session_timeout 5m;
109
110 ssl_ciphers high:!anull:!md5;
111 ssl_prefer_server_ciphers on;
112
113 location / {
114 root /web;
115 index index.html index.htm;
116 }
117 }
118
119 server {
120 listen 80;
121 server_name www.westos.org;
122 rewrite ^/(.*)$ https://www/westos/org/$1;
123
124
125
126 location / {
127 root /web;
128 index index.html;
129 }
130
131 }
[root@server1 certs]# nginx -s reload
客户端测试:

客户端浏览器访问:




永久重定向
[root@server1 certs]# vim /usr/local/nginx/conf/nginx.conf 122 rewrite ^/(.*)$ https://www/westos/org/$1 permanent;
客户端测试:

$1的作用
服务端server1/web目录下创建一个test.html网页文件。
[root@server1 web]# cat test.html test [root@server1 certs]# vim /usr/local/nginx/conf/nginx.conf 122 rewrite ^/(.*)$ https://www/westos/org/$1 permanent;

去掉$1后
[root@server1 web]# vim /usr/local/nginx/conf/nginx.conf 124 rewrite ^/(.*)$ https://www/westos/org/ permanent;

四、服务端再添加一个域名
[root@server1 bbs]# vim /usr/local/nginx/conf/nginx.conf
121 server {
122 listen 80;
123 server_name bbs.westos.org;
124
125
126
127 location / {
128 root /bbs;
129 index index.html;
130 }
131
132 }
创建/bbs目录,并编辑网页文件:
[root@server1 web]# mkdir /bbs [root@server1 web]# cd /bbs/ [root@server1 bbs]# ls [root@server1 bbs]# vim index.html bbs.westos.org
客户端测试:

五、重定向二:www.westos.org/bbs----->bbs.westos.org
[root@server1 bbs]# vim /usr/local/nginx/conf/nginx.conf
121 server {
122 listen 80;
123 server_name www.westos.org;
124 rewrite ^/bbs$ http://bbs.westos.org permanent;
125 #rewrite ^/bbs(.*)$ http://bbs.westos.org/$1 permanent;
126 location / {
127 root /web;
128 index index.html;
129 }
130
131 }
132
133 server {
134 listen 80;
135 server_name bbs.westos.org;
136
137 location / {
138 root /bbs;
139 index index.html;
140 }
141 }

在浏览器访问http://www.westos.org/bbs,结果如下图。

[root@server1 bbs]# vim /usr/local/nginx/conf/nginx.conf 124 rewrite ^/bbs$ http://bbs.westos.org permanent; 125 rewrite ^/bbs(.*)$ http://bbs.westos.org/$1 permanent;


在浏览器访问http://www.westos.org/bbs/index.html,结果如下图。

六、重定向三:bbs.westos.org----->www.westos.org/bbs/

[root@server1 bbs]# cd /web/ [root@server1 web]# cp -r /bbs/ /web/ [root@server1 web]# ls bbs index.html test.html


以上就是nginx几种网页重定向(rewirte)的配置方法详解的详细内容,更多关于nginx网页重定向配置的资料请关注代码网其它相关文章!
发表评论