Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.6k views
in Technique[技术] by (71.8m points)

thinkphp 配置ssl 强制https访问时 如何去掉index.php后辍?

thinkphp 配置ssl 强制https访问时 如何去掉index.php后辍?

阿里云IIS7.5环境下 配置好了http 重写向https

可是输入http://www.xxx.com 后 会重定向到https://www.xxx.com/index.php/

如何去掉这个index.php???


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

我的实现方法

不用配置iis url重写模块

直接在thinkphp 入口文件写入以下代码即可 (iis证书需要配置)

if ($_SERVER['HTTPS'] != "on") {
        $index = strstr($_SERVER['REQUEST_URI'],"index.php");
        if($index){
            $str = preg_replace('//index.php/', '', $_SERVER['REQUEST_URI']);
            $url = "https://" . $_SERVER["SERVER_NAME"] . $str;
            header("location:".$url);
        }
}

使用上面的方法 有个问题 做seo 百度搜索不到 最后只有在模板中加入js代码
<!-- http to https -->
<script type="text/javascript">

    var url = window.location.href;
    if (url.indexOf("https") < 0) {
    url = url.replace("http:", "https:");
    window.location.replace(url);
    }

</script>


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...