Categories


Tags


IIS和Apache实现HTTP重定向到HTTPS

本文介绍IIS7和Apache上实现访问HTTP跳转到HTTPS访问的方法,网站设计出于安全的考虑需要使用https协议,但不少用户因为输入网址的习惯不喜欢带上https协议,导致访问异常,因此需要一种重定向功能,实现HTTP网站重定向到HTTPS网站的方法,具体操作如下。

IIS7

从微软的官方网站下载HTTP重写模块,安装完毕之后重启IIS服务,之后打开IIS控制台,发现多了一个组件,双击“URL重写”,在右边窗体中选择“添加规则”,并添加一个空白规则,给规则自定义一个名字(名称自便),比如我这里叫“redirect to HTTPS”,模式为:(.*),添加一个条件,条件输入为 {HTTPS},与模式匹配,模式为 ^OFF$,然后配置操作,操作类型为:重定向,重定向到URL为:https://{HTTP_HOST}/{R:1},重定向类型:永久301。

设置完毕后点击右侧的“应用”,这个 URL 重写就配置完毕了。

配置后,根目录下的web.config文件的内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name="redirect to HTTPS" enabled="true" stopProcessing="true">

<match url="(.*)" />

<conditions>

<add input="{HTTPS}" pattern="^OFF$" />

</conditions>

<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

Apache

修改.htaccess文件,在文件里增加如下几行:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTPS} !=on

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

另一种写法是:

RewriteEngine on

RewriteBase /

RewriteCond %{SERVER_PORT} !^443$

RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]

来源:月光博客


Public @ 2012-12-08 15:56:01

多域名同内容的常见问题

1. 内容质量问题:如果多个域名都使用相同的内容,那么会导致内容重复,可能会被搜索引擎评定为“垃圾内容”,降低整个网站的权重和排名。 2. 竞争关系问题:如果同一领域的竞争对手也使用了相同的内容,那么它们的排名和权重等指标就会被稀释,难以获得有效的流量和曝光度。 3. 外链建设问题:如果多个域名都指向相同的内容,那么外链建设可能会受阻,难以为网站引入更多的访客和链接。 4. 维护成本问题:如

Public @ 2023-04-14 16:50:27

关于HTTPS的常见问题(系列二)

1. HTTPS和HTTP的区别是什么? HTTPS是在HTTP的基础上加密传输数据的协议,它通过SSL或TLS协议对数据进行加密,保证数据传输的安全性。HTTP则是缺乏安全性的传输协议,它传输的数据不加密,容易被黑客窃取。 2. HTTPS采用的加密算法有哪些? HTTPS采用的加密算法包括对称加密算法和非对称加密算法,目前最常用的对称加密算法为AES、DES、3DES等,而非对称加密算法

Public @ 2023-04-17 22:00:33

discuz、ecshop、帝国cms部署https(ssl)后会员无法登录

注意,以下教程只针对我司港台虚拟主机或者亚数的云主机香港IP部署SSL后的301跳转1.discuz部署https后台无法登录:discuz采用: $_SERVER[‘HTTPS’] 方式判断,我司虚拟主机不支持同时也不支持$_SERVER['HTTP_HOST'],需使用$_SERVER['HTTP_FROM_HTTPS']进行判断,其他php程序同样适用。sou

Public @ 2018-11-02 15:55:57

更多您感兴趣的搜索

0.484160s