美文网首页
apache自动将http协议跳转到https

apache自动将http协议跳转到https

作者: 李剑斌 | 来源:发表于2017-07-07 15:18 被阅读0次

    在apache环境下,如何实现http协议跳转到https协议呢?
    实现的步骤大致可分为以下几步:
    1、打开url重定向支持
    (1)在apache目录下找到httpd.conf文件,并且找到#LoadModule rewrite_module modules/mod_rewrite.so 去掉#号
    (2)找到<Directory "/var/www/html">字段,如下所示:

    <Directory “/var/www/html”>
      ...
      AllowOverride None 改为 AllowOverride ALL
      ...
    </Directory>
    

    (3)修改后重启apache服务
    2、在网站根目录下,即"/var/www/html" 目录下新建文件,文件名为(.htaccess)

    .htaccess文件内容如下:
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteCond %{REQUEST_URI} !^/tz.php
    RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]
    ------------------------------------
    解释:
    %{SERVER_PORT} —— 访问端口
    %{REQUEST_URI} —— 比如如果url是 http://localhost/tz.php,则是指 /tz.php
    %{SERVER_NAME} —— 比如如果url是 http://localhost/tz.php,则是指 localhost
    ------------------------------------
    上述规则解释:
      如果访问的url的端口不是443,且访问页面不是tz.php,则应用RewriteRule这条规则。这样便实现了:访问了 http://localhost/index.php 或者 http://localhost/admin/index.php 等页面的时候会自动跳转到 https://localhost/index.php 或者 https://localhost/admin/index.php,但是访问 http://localhost/tz.php 的时候就不会做任何跳转,也就是说 http://localhost/tz.php 和 https://localhost/tz.php 两个地址都可以访问。
    

    相关文章

      网友评论

          本文标题:apache自动将http协议跳转到https

          本文链接:https://www.haomeiwen.com/subject/doolhxtx.html