小知识:http自动跳转https的配置方法

IIs中实现Http自动转换到Https方法介绍 (403跳转对SEO有一定影响)

1.下载安装URL重写模块:Microsoft URL Rewrite Module

32位:http://download.microsoft.com/download/4/9/C/49CD28DB-4AA6-4A51-9437-AA001221F606/rewrite_x86_zh-CN.msi

64位:http://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi

2.SSL设置不要勾选(很重要)

%小知识:http自动跳转https的配置方法-猿站网-插图

3.Web.config添加

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<system.webServer>
<rewrite>
<rules>
<rule name=”HTTP to HTTPS redirect” stopProcessing=”true”>
<match url=”(.*)” />
<conditions>
<add input=”{HTTPS}” pattern=”off” ignoreCase=”true” />
</conditions>
<action type=”Redirect” redirectType=”Found” url=”https://{HTTP_HOST}/{R:1}” />
</rule>
</rules>
</rewrite>
</system.webServer>

收工!~

以下方法不推荐

1、根据IIS版本备份以下文件:

IIS6.0 路径:C:\WINDOWS\Help\iisHelp\common\403-4.htm

IIS7.0以上 路径:C:\inetpub\custerr\zh-CN\403.htm

2、把以下内容全部拷贝替换(403-4或403)里面所有内容,保存即可

?
1
2
3
4
5
6
7
8
9
10
11
<HTML><HEAD><TITLE>该页必须通过安全通道查看</TITLE>
<META HTTP-EQUIV=”Content-Type” Content=”text/html; charset=GB2312″>
</HEAD><BODY>
<script type=”text/javascript”>
var url = window.location.href;
if (url.indexOf(“https”) < 0) {
url = url.replace(“http:”, “https:”);
window.location.replace(url);
}
</script>
</BODY></HTML>

注释:IIS6中,站点属性-》目录安全性-》编辑中把“要求安全通道(SSL)”勾选上即可。

IIS7、8中,SSL设置-》把“要求SSL”勾选即可。

APache 版本

如果需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容:

?
1
2
3
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]

如果对某个目录做https强制跳转,则复制以下代码:

?
1
2
3
4
5
RewriteEngine on
RewriteBase /yourfolder
RewriteCond %{SERVER_PORT} !^443$
#RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

如果只需要对某个网页进行https跳转,可以使用redirect 301来做跳转!redirect 301 /你的网页 https://你的主机+网页

Tomcat 版本

需要做两个地方改动。

1:server.xml 中配置ssl证书的端口要改成默认的“443”端口,如果已经修改,请直接操作第二步;

2:在web.xml配置文件中添加节点代码:如下
?
1
2
3
4
5
6
7
8
9
10
11
12
<web-app>
………
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>       
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
</web-app>

3:回到server.xml 配置文件中找到80端口的节点,里面有默认这个属性是 redirectPort=”8443″ 要改成 “443” 保存重启即可。

Nginx版本

在配置80端口的文件里面,写入以下内容即可。

?
1
2
3
4
5
6
7
8
9
server {
listen  80;
server_name localhost;
rewrite ^(.*)$ https://$host$1 permanent;
location / {
root html;
index index.html index.htm;
}

javascript单独页面通用代码段:以下方法较适合做seo搜索或指定某一个子页单独https

在需要强制为https的页面上加入以下代码进行处理

?
1
2
3
4
5
6
7
<script type=”text/javascript”>
var url = window.location.href;
if (url.indexOf(“https”) < 0) {
url = url.replace(“http:”, “https:”);
window.location.replace(url);
}
</script>

PHP页面跳转:添加在网站php页面内

?
1
2
3
4
5
if ($_SERVER[“HTTPS”] <> “on”)
{
$xredir=”https://”.$_SERVER[“SERVER_NAME”].$_SERVER[“REQUEST_URI”];
header(“Location: “.$xredir);
}

http跳转https的方法较多,以上仅供参考。

原文链接:https://b.lxd.cc/post/287

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:详解HTTP状态码

2023-4-26 17:40:25

建站知识

小知识:iis、apache、nginx使用X-Frame-Options防止网页被Frame的解决方法

2023-4-26 17:55:13

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索