nginx几种网页重定向(rewirte)的配置方法详解,


目录
  • 实验环境
  • 一、编译、安装Ngix
  • 二、测试nginx功能
  • 三、重定向一:http---->https
  • 四、服务端再添加一个域名
  • 五、重定向二:www.westos.org/bbs----->bbs.westos.org
  • 六、重定向三:bbs.westos.org----->www.westos.org/bbs/

实验环境

服务端ip环境
server1172.25.55.1关闭防火墙,添加域名解析
founcation55172.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网页重定向配置的资料请关注PHP之友其它相关文章!

您可能感兴趣的文章:
  • nginx配置完rewrite浏览器提示将您重定向的次数过多的解决方法
  • Nginx配置 location模块实现路由(反向代理、重定向)功能
  • 配置nginx 重定向到系统维护页面
  • 详解Nginx中的Rewrite的重定向配置与实践
  • nginx http重定向https配置说明

相关内容