|
图文教程
教程概要(用途): |
硅云的虚拟主机强制用户使用https访问网站的方法 |
教程内容说明: |
此方法仅适用于硅云的Apache虚拟主机,其它(比如vps等)不适用 |
教程来源方: |
个人热心人士 |
官方只有配置SSL的方法,并没有强制用户使用SSL访问网站的方法。这使得用户还是可以通过http访问网站,一般用户顶多输入网站域名,根本不会手动输入https,默认访问的还是http,根本达不到加密的效果。
由于这只是虚拟主机,不是自己的独立服务器,一般的方法不适用。但是我琢磨很久,总算想出来了办法。
下面分两种办法,一种是超简单的办法,还有一种是一劳永逸的方法,各位可以根据自己的需求来选择自己需要的方法。
注意:下面的方法要在你已经配置好SSL证书的前提下使用!不然无效!
SSL证书的配置方法可以在这版块自己找找
第一种方法(不推荐):
在你的网页头里加上一段JS,使用户强制使用https访问:
- <script type="text/javascript">
- var targetProtocol = "https:";
- if (window.location.protocol != targetProtocol)
- window.location.href = targetProtocol +
- window.location.href.substring(window.location.protocol.length);
- </script>
复制代码 这种办法的优点是简单易用,但缺点就比较多了:
缺点1:用户访问速度减慢(这里面等于说检测是不是https,不是的话就替换为https,这样浪费资源,会降低浏览体验)
缺点2:百度的蜘蛛引擎不收录(搞不明白为什么,其它的都收录)
缺点3:旧版本浏览器不支持(一般都支持,除非是用Mozilla 4.0之前的,基本可以忽略)
总结:这种方法的优点是简单方便,适用于小站。但是稍微大一点的站就不适用了(不成一页一页的加?),并且缺点太多。
第二种方法(推荐):
首先,前往硅云虚拟主机控制面板,点击“高级功能”,找到“伪静态/URL重写”,点进去,打开URL重写的开关。
接下来,进入在线FTP,在你的网站/web目录中创建一个新文件,命名为“.htaccess”(如果已经有.htaccess了请跳过此步骤)
然后,编辑.htaccess文件,加入以下代码:
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^www.你的域名.com [NC]
- RewriteCond %{SERVER_PORT} !^443$;
- RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
复制代码 注意:上面的“www.你的域名.com”需要自己动手修改成自己的域名
然后返回面板,重启主机即可生效。
优点1:实现了全站强制https访问
优点2:暂未发现任何缺点
以上就是全部教程,希望对你有帮助!
|
|