开发者社区> 问答> 正文

如何让自己的网站实现电脑访问Https,手机访问http?

已解决

我想实现电脑访问的话,会自动跳转HTTPS,手机访问就是http
该怎么实现呢?求大神给个思路

展开
收起
西秦说云 2016-02-01 14:49:11 4975 0
1 条回答
写回答
取消 提交回答
  • 码农|Coder| Pythonista
    采纳回答

    如果你使用的是nginx,可以修改你的配置文件如下实现

    server {  
     server_name **.**; #你的网站  
     listen 443; 
     ssl on;
     ssl_certificate  /usr/local/nginx/conf/server.crt;
     ssl_certificate_key  /usr/local/nginx/conf/server_nopwd.key; 
     location / {  
         if ($http_user_agent ~ "((MIDP)|(WAP)|(UP.Browser)|(Smartphone)|(Obigo)|(Mobile)|(AU.Browser)|(wxd.Mms)|(WxdB.Browser)|(CLDC)|(UP.Link)|(KM.Browser)|(UCWEB)|(SEMC\-Browser)|(Mini)|(Symbian)|(Palm)|(Nokia)|(Panasonic)|(MOT)|(SonyEricsson)|(NEC)|(Alcatel)|(Ericsson)|(BENQ)|(BenQ)|(Amoisonic)|(Amoi)|(Capitel)|(PHILIPS)|(SAMSUNG)|(Lenovo)|(Mitsu)|(Motorola)|(SHARP)|(WAPPER)|(LG)|(EG900)|(CECT)|(Compal)|(kejian)|(Bird)|(BIRD)|(G900/V1.0)|(Arima)|(CTL)|(TDG)|(Daxian)|(DAXIAN)|(DBTEL)|(Eastcom)|(EASTCOM)|(PANTECH)|(Dopod)|(Haier)|(HAIER)|(KONKA)|(KEJIAN)|(LENOVO)|(Soutec)|(SOUTEC)|(SAGEM)|(SEC)|(SED)|(EMOL)|(INNO55)|(ZTE)|(iPhone)|(Android)|(Windows CE)|(Wget)|(Java)|(curl)|(Opera))"){  
            rewrite ^/(.*)$ http://**。**/$1 ;  
      }  
    } 
    
    server{
        server_name **.**;
        listen 80;
        location /{
            if ($http_user_agent ~ "常见桌面UA"){
                rewrite ^/(.*)$ https://**。**/$1 ;  
            }
    
        }
    
    }

    或者在index.php上进行判定

    <?php
    $the_host = $_SERVER['HTTP_HOST'];//取得当前域名
    $the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分
    
    
    if(is_mobile_user_agent()//判断UA是否手机浏览器或者PC浏览器。此函数的实现自己去百度搜
    {
        header('HTTP/1.1 301 Moved Permanently');
        header('Location:http://**.**'.$the_url); //
    }
    ?>
    2019-07-17 18:27:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
手机行业的轻模式创新 立即下载
阿里巴巴HTTP 2.0实践及无线通信协议的演进之路 立即下载
CDN助力企业网站进入HTTPS时代 立即下载