跳至正文
-
Subscribe to our newsletter & never miss our best posts. Subscribe Now!
爱云博客-我觉得你们访客还要学习一个

我是身经百战了,见的多了,西方的哪一个博客我没去过?

爱云博客-我觉得你们访客还要学习一个

我是身经百战了,见的多了,西方的哪一个博客我没去过?

  • 首页
  • 网络培训
  • Duxmeng
  • VPS面板
    • VPS测评
  • WordPress
  • WHMCS
  • 首页
  • 网络培训
  • Duxmeng
  • VPS面板
    • VPS测评
  • WordPress
  • WHMCS
关

搜索

  • https://www.facebook.com/
  • https://twitter.com/
  • https://t.me/
  • https://www.instagram.com/
  • https://youtube.com/
Subscribe
网站运维

.htaccess设置http跳转到https与相互跳转/www与不带www相互跳转

作者 红衣法师
2016年12月26日 1 分钟阅读
2

这里实际上说的是种6跳转:http跳转到https,https跳转到http,所有访问均跳转到带www的https,所有访问均跳转到不带www的https,所有访问均跳转到带www的http,所有访问均跳转到不带www的http。

Http请求跳转到Https

这是目前最需要普及的问题,很多站点已经部署了SSL证书,但http请求依旧能够打开页面并且不会跳转到https,如果关闭了80端口的http访问,那么以前的书签中的链接由于无法连接到网站80端口那就完全不能打开了。在网站根目录中的.htaccess文件(没有就创建一个)中,将规则修改成下方的文本即可,注意将规则中的域名链接都换成你自己站点的链接。

原理:访问80端口http链接,全部定向到https://www.iyunhost.com

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{SERVER_PORT} =80
RewriteCond %{HTTP_HOST} ^www.iyunhost.com$ [NC]
RewriteRule ^(.*)$ https://www.iyunhost.com/$1 [L,R=301]
</IfModule>

Https请求跳转到Http

原理:访问443端口https链接,全部重定向到http://www.iyunhost.com

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{SERVER_PORT} =443
RewriteCond %{HTTP_HOST} ^www.iyunhost.com$ [NC]
RewriteRule ^(.*)$ http://www.iyunhost.com/$1 [L,R=301]
</IfModule>

★★★重要:所有访问均跳转到带www的https

第一个跳转中,仅仅指定了访问80端口的链接时,重定向到https://www.iyunhost.com,但访问https://iyunhost.com,不会跳转到带www的https,下面我们就通过对443端口访问的重定向来设置所有访问均跳转到带www的https。

原理:访问80端口,所有http链接重定向到https://www.iyunhost.com,访问443端口,https不带www的链接全部跳转到带www的链接。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.iyunhost.com/$1 [R=301,L]
RewriteCond %{SERVER_PORT} =443
RewriteCond %{HTTP_HOST} ^iyunhost.com$ [NC]
RewriteRule ^(.*)$ https://www.iyunhost.com/$1 [L,R=301]
</IfModule>

所有访问均跳转到不带www的https

简单的修改上方的规则即可,重定向的链接全部不带www。

原理:访问80端口,所有http链接重定向到https://iyunhost.com,访问443端口,https带www的链接全部跳转到不带www的链接。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://iyunhost.com/$1 [R=301,L]
RewriteCond %{SERVER_PORT} =443
RewriteCond %{HTTP_HOST} ^www.iyunhost.com$ [NC]
RewriteRule ^(.*)$ https://iyunhost.com/$1 [L,R=301]
</IfModule>

所有访问均跳转到带www的http

动动你的脑子想一想,想不出来网上也找不到了。

所有访问均跳转到不带www的http

动动你的脑子想一想,想不出来网上也找不到了。

标签:

SSL网站运维
作者

红衣法师

苟利国家生死以,岂因祸福避趋之。

关注我
其他文章
上一个

VestaCP——Linux VPS管理面板安装

下一个

新版WHMCS-EasyPanel插件,支持WHMCS5、6、7,预设套餐,PHP版本切换

2 评论
  1. 一然说道:
    2017年6月13日 上午7:00

    [生病]

    登录以回复
  2. AMH5.X VPS面板配置SSL - VPS面板 - 爱云博客-我觉得你们访客还要学习一个说道:
    2017年3月7日 上午2:02

    […] 请参考此文,设置http到https的自定义各种跳转:.htaccess设置http跳转到https与相互跳转/www与不带www相互跳转 […]

    登录以回复

发表回复 取消回复

要发表评论,您必须先登录。

加入我们——Get More

千人交流QQ群: 加入Q群 (474797105)

~~ 热门阅读推荐 ~~

HkHost - 大带宽香港直连云虚拟主机 Vultr - 月付2.5刀,注册送28刀 Linode - 1G内存月付5刀,注册送20刀 Duxmeng - 大前端与多梦主题的融合 加入Q群交流更多~~
Copyright 2026 — 爱云博客-我觉得你们访客还要学习一个. All rights reserved. Blogsy WordPress Theme