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???

阅读 7.1k
2 个回答

我的实现方法

不用配置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>

index.php是thinkphp的入口文件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题