http重定向https

2021-06-01 09:01

阅读:705

标签:magedu   cto   默认   语句   循环   nbsp   根据   二次   oct   

将http请求转发至https的URL
  重定向
    Redirect [status] URL-path URL
  status状态:
    Permanent: 返回永久重定向状态码 301
    Temp:返回临时重定向状态码302. 此为默认值
  示例:
    Redirect temp / https://www.magedu.com/

从客户端发送浏览请求--至服务器--从服务器回复一个重定向的网页地址到客户端---从客户端发送请求到服务器--从服务器回复请求,通过四次完成一整次访问

 1 vim /etc/httpd/conf/httpd.conf 
 2  ----
 3 
 4 80 >
 5 DocumentRoot /data/asite
 6 CustomLog "logs/asite_access_log" combined
 7 servername www.a.com
 8 "/data/asite">
 9 Require all granted
10 11 redirect Permanent / http://www.b.com
12 13 --------
14#在a网站的语句块的配置文件中添加这行,表示当你访问根的时候,跳转到www.b.com
15 systemctl restart httpd
16#重启服务

通过curl命令测试:只显示了301 ,curl 命令默认只发一次请求,不会主动发第二次请求,重定向需要发第二次请求的

1 curl  http://www.a.com
2 span>"-//IETF//DTD HTML 2.0//EN">
3 head>
4 
<span>301</span> Moved Permanently5 head>
6 

Moved Permanently

7

The document has moved "http://www.b.com">here.

8
1 curl  -L http://www.a.com
2 b.site

curl命令默认只发送一次请求,-L会根据用户发过来的响应码在执行操作,如301就会在发送一次请求跳转到对应的网站上

一般从http跳转到https都是用的临时重定向

1 80 >
2         DocumentRoot /data/asite
3                 CustomLog "logs/asite_access_log" combined
4         servername www.a.com
5 "/data/asite">
6         Require all granted
7 8 redirect temp / https://www.a.com
9 

 #搜索引擎会根据永久重定向来抓取页面,临时重定向会抓取,永久重定向不会抓取旧的网站

直接在配置文件中将http跳转到https会产生循环

DocumentRoot "/var/www/html"
redirect temp / https://www.a.com
多主机的模式可以用这种,
curl -Lk http://www.a.com
curl: (47) Maximum (50) redirects followed
1 vim /etc/httpd/conf/httpd.conf
2----
3 RewriteEngine on
4 RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=302]
5 #RewriteEngine on重写引擎
6 #RewriteRule重写规则, ^(/.*)$ 头尾中间/任意字符,表示访问这个网站的任意字符串,给你重定向到https://%{HTTP_HOST},HTTP_HOST就是你访问的主机头,$1后项引用,使用302临时跳转

重新测试:

1 curl -Lk http://www.a.com
2 www.alex.com

 

http重定向https

标签:magedu   cto   默认   语句   循环   nbsp   根据   二次   oct   

原文地址:https://www.cnblogs.com/alexlv/p/14583443.html


评论


亲,登录后才可以留言!