【问题标题】:how to redirect http urls to https url?如何将http url重定向到https url?
【发布时间】:2020-08-07 16:59:20
【问题描述】:

当我输入网址时,它会重定向到http://www.xyz.in,但如果我将其编辑为https://www.xyz.in,SSL 证书就会开始工作。

问题是当用户输入xyz.in时如何重定向到https://www.xyz.in

配置文件:

$root = (isset($_SERVER['HTTPS']) ? "https://" : "http://") . $_SERVER['HTTP_HOST'];
$root .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
$config['base_url'] = $root;

.htaccess 文件:

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} (www\.)?xyx.in
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

我尝试将RewriteCond %{HTTPS} off 更改为on,但它总是重定向到http://xyz.in

【问题讨论】:

标签: php apache .htaccess codeigniter redirect


【解决方案1】:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

我认为将(.*) 更改为^ 应该会奏效。如果没有,请告诉我。另外,确保 mod_rewrite 已启用。清除浏览器的缓存并尝试此操作。

【讨论】:

  • HTTPS 设置为 !on 后重试
【解决方案2】:
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?xyz\.in
RewriteRule ^(.*)$ https://www.xyz.in/$1 [R=301,L]

试试这个。它应该可以工作。

【讨论】:

    猜你喜欢
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多