实现http到http的自动重定向

 

1、实现当访问http://www.westos.org/bbs/时,自动跳转到http:///

(1)先配置一个虚拟主机,并进行测试,以保证配置的虚拟主机是正确的

nginx转发vue时重定向问题_html

nginx转发vue时重定向问题_nginx转发vue时重定向问题_02

nginx转发vue时重定向问题_nginx转发vue时重定向问题_03

nginx转发vue时重定向问题_nginx_04

#在物理机上编写本地解析文件

nginx转发vue时重定向问题_自动跳转_05

nginx转发vue时重定向问题_html_06

nginx转发vue时重定向问题_nginx_07

(2)实现当访问http://www.westos.org/bbs/时,自动跳转到http:///

nginx转发vue时重定向问题_nginx转发vue时重定向问题_08

#表示访问http://www.westos.org/bbs时自动跳转到http://

nginx转发vue时重定向问题_nginx转发vue时重定向问题_09

nginx转发vue时重定向问题_nginx转发vue时重定向问题_10

(3)进行测试:

 

测试一:在命令行进行测试

#我们会发现,实现了www.westos.org/bbs——>http://的自动跳转

nginx转发vue时重定向问题_自动跳转_11

测试二:在浏览器中访问:http://www.westos.org/bbs,帮我们自动跳转到了下面的界面

nginx转发vue时重定向问题_nginx转发vue时重定向问题_12

2、实现当访问http://www.westos.org/bbs/...时,自动跳转到http:///...(即对1的内容进行改进)

在进行改进之前,我们进行一个测试,来看出改进的必要性

#在这里,我们会发现一个问题(在bbs后面添加了/index.html之后,并没有实现重定向),这显然是不合理的

nginx转发vue时重定向问题_nginx_13

下面,我们进行改进

 

(1)编写nginx.conf文件

nginx转发vue时重定向问题_自动跳转_14

nginx转发vue时重定向问题_自动跳转_15

nginx转发vue时重定向问题_nginx_16

(2)进行测试:

 

测试一:在命令行进行测试

#我们会发现,实现了www.westos.org/bbs/index.html——>http:///index.html的自动跳转

nginx转发vue时重定向问题_nginx转发vue时重定向问题_17

测试二:在浏览器中访问:http://www.westos.org/bbs/index.html,帮我们自动跳转到了下面的界面。

nginx转发vue时重定向问题_nginx转发vue时重定向问题_18

3、实现当访问http://时,自动跳转到http://www.westos.org/bbs/...

(1)编写nginx.conf文件

nginx转发vue时重定向问题_自动跳转_14

nginx转发vue时重定向问题_html_20

nginx转发vue时重定向问题_nginx_16

(2)进行测试:

nginx转发vue时重定向问题_nginx_22

nginx转发vue时重定向问题_nginx_23

#将bbs目录拷贝到/web目录下

nginx转发vue时重定向问题_nginx_24

nginx转发vue时重定向问题_nginx转发vue时重定向问题_25

测试一:在命令行进行测试

#我们可以看到实现了自动跳转(——>https://www.westos.org/bbs)

nginx转发vue时重定向问题_nginx_26

#我们可以看到实现了自动跳转(/index.html——>https://www.westos.org/bbs/index.html)

nginx转发vue时重定向问题_nginx转发vue时重定向问题_27

4、实现当访问http://test.westos.org时报错(test.westos.org该域名没有被定义为虚拟主机)

在配置“访问http://test.westos.org时报错”之前,我们先来访问下test.westos.org,以形成对比。

nginx转发vue时重定向问题_自动跳转_28

nginx转发vue时重定向问题_自动跳转_29

nginx转发vue时重定向问题_nginx转发vue时重定向问题_30

从上图中,我们可以看到,我们访问到的是nginx服务的默认发布页,这是为什么呢?肯定是配置文件决定的呀。下面,我们来查看配置文件

nginx转发vue时重定向问题_自动跳转_31

通过观察nginx.conf文件,我们发现在nginx.conf文件中,我们定义了三个server{}模块,

第一个模块是:访问http://localhost/...(或http://172.25.8.1/...)时,去访问/usr/local/nginx/html文件
第二个模块是:https模块
第三个模块是:访问http:///...时重定向到http://www.westos.org/bbs/...;访问http://www.westos.org时,去访问/web目录
我们会发现,根本就没有定义test.westos.org模块,所以访问http://test.westos.org/...时就定位到默认模块(第一个模块了)。因此访问的就是nginx服务的默认发布页。
 

(1)编写nginx.conf文件

nginx转发vue时重定向问题_自动跳转_31

nginx转发vue时重定向问题_nginx转发vue时重定向问题_33

nginx转发vue时重定向问题_nginx_34

(2)进行测试:

在浏览器中访问:test.westos.org

nginx转发vue时重定向问题_自动跳转_35

5、实现当访问http://test.westos.org时,自动跳转到http://www.westos.org

(1)编写nginx.conf文件

nginx转发vue时重定向问题_自动跳转_31

nginx转发vue时重定向问题_自动跳转_37

nginx转发vue时重定向问题_nginx_34

(2)进行测试:

在浏览器中访问:test.westos.org

nginx转发vue时重定向问题_html_39