首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >http重定向到特定的https链接

http重定向到特定的https链接
EN

Stack Overflow用户
提问于 2018-04-11 20:11:08
回答 3查看 454关注 0票数 0

我有一个网页,如果用户来自http://,我想重定向到特定的链接。

代码语言:javascript
运行
复制
<script language="JavaScript">
  var loc = window.location.href+'';
    if (loc.indexOf('http://')==0){
      window.location.href = loc.replace('http://','https://secure.example.com/app');
    }
</script>

如果用户来自http://example.com/app或任何http://,则希望将其重定向到该链接。

当我运行这个JavaScript时,它使用https://secure.example.com/app并添加domain.com/app,如下所示

https://secure.example.com/appexample.com/app

如果能对此提供任何帮助,我们将不胜感激。

我也尝试了元标签的东西<meta http-equiv="refresh" content="2;url=https://secure.example.com/app" />

但它总是让人耳目一新,不太适应页面的变化。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-04-11 20:15:25

代码语言:javascript
运行
复制
<script language="JavaScript">
  var loc = window.location.href+'';
    if (loc.indexOf('http://www.')==0){
         window.location.href = loc.replace('http://www.','https://secure.');
    }
    else if (loc.indexOf('http://')==0) {
        window.location.href = loc.replace('http://','https://secure.');
    }
</script>

它所做的一切都是您所描述的,因为您用https://secure.example.com/app代替了https://secure.example.com/app,所以当然,http://之后的所有内容都将继续存在。

票数 1
EN

Stack Overflow用户

发布于 2018-04-11 20:17:31

当没有http://时,我建议简单地用https://secure.代替www

另外,要解决a www的情况,只需将www.替换为nothing:

代码语言:javascript
运行
复制
//var loc = window.location.href;
var loc = 'http://www.example.com/app';
console.log(loc);
loc = loc.replace('www.', '');
loc = loc.replace('http://', 'https://secure.');
console.log(loc);

票数 1
EN

Stack Overflow用户

发布于 2018-04-11 20:17:59

将此添加到服务器配置文件中,而不是在html中执行。

代码语言:javascript
运行
复制
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

301重定向应该是更好的方法。

对于javascript方法(Es6)。不是推荐的方法,因为浏览器重定向并不总是可靠的。

代码语言:javascript
运行
复制
 return location.protocol != 'https:' ? location.protocol = "https:" 
: {do nothing logic}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49783729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档