他们俩都应该引用同一个对象吗?
在网络上,我看到大量的JavaScript程序员写作window.location而不仅仅是location.我很好奇是否有人可以提供解释原因.window是全局对象,因此没有必要包括 - 不是吗?我的意思是,你不要看的人写的window.Math.floor还是new window.Date(),所以我很好奇,为什么它会与指定location.
我理解这location被认为是你所在窗口的"属性",我认为这是有道理的.但即便如此,我也没有理由指定全局对象; 首先不可能覆盖location,不是没有重定向页面.
那么,这只是一个长期使用的怪癖,它与我们编写JavaScript的方式相结合,还是有一些切实的理由以这种方式做事?我查了一下谷歌,但是唉,我什么也没想到......
我正在尝试将https://www.example.com重定向到http://www.example.com.我在.htaccess文件中尝试了以下代码
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
此代码成功将https://example.com重定向到http://www.example.com.但是,当我输入https://www.example.com时,它会在浏览器中显示"网页不可用"错误.
我也尝试了以下2个代码但没有成功
尝试1
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*):NOSSL$ http://www.example.com/$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)
尝试2
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
Run Code Online (Sandbox Code Playgroud)
以上两种尝试均失败.有什么建议?
是否可以在客户端检测用户是否使用加密页面?
换句话说 - 我想知道当前页面的URL是以http还是https开头.
我一直在寻找这个问题的答案,我发现的所有答案都不是用JavaScript编写的.
我需要一种方法,在javascript中,检查字符串是否以http,https或ftp开头.如果它不以其中一个开头,我需要在前面添加字符串http://.indexOf对我不起作用我不认为我需要http,https或ftp.此外,我不希望google.com/?q=http://google.com触发它有效,因为它不以http开头,而indexOf会触发它为真(如果我没有完全弄错).
我发现的最接近的PHP正则表达式是这样的:
function addhttp($url) {
if (!preg_match("~^(?:f|ht)tps?://~i", $url)) {
$url = "http://" . $url;
}
return $url;
}
Run Code Online (Sandbox Code Playgroud)
我只是不知道如何将其转换为javascript.任何帮助将不胜感激.
我想检测用户是否正在查看安全页面,如果没有则重定向(用于登录).
但是,在我看到服务器变量和代理(现在)告诉我这$_SERVER['HTTPS']是'on'URI明确指示的情况之前,我的网站通过代理.它还显示'on'用户何时"安全"导航.
导航http://并https://输出$_SERVER['SERVER_PORT']= 443.
我没有能力对代理进行任何更改,所以我想知道:
我挖掘这个问题的想法,但他们主要围绕$_SERVER['HTTPS']变量值得信赖.呸!
似乎这个问题至少经历过类似的问题,但是他/她能够通过调整apache解决方案来解决它.
是否有任何其他PHP SERVER变量或技巧可用于检测用户的URI开头的内容?查看我的网站http与https时$ _SERVER变量之间的唯一区别如下:
这些物品中的任何一个都足够坚固,可以在不分裂的情况下施加重量并在以后引起疼痛吗?也许我不应该相信通过代理过滤的任何东西,因为它可能在任何给定时间发生变化.
以下是我为此目的使用JavaScript的计划; 这是我最好的吗?
function confirmSSL() {
if(location.protocol != "https:") {
var locale = location.href;
locale = locale.replace(/http:\/\//,"https://");
location.replace(locale);
}
}
<body onLoad="confirmSSL()">...
Run Code Online (Sandbox Code Playgroud)
我想如果用户在我的社区中禁用了JavaScript,那么他们希望知道他们在做什么.他们应该能够手动进入安全区域.什么样的<noscript>建议是司空见惯/良好做法?也许是这样的事情:
<noscript>使用https://blah.more.egg/fake导航以保护您的信息.</noscript>
有效的PHP解决方案(有很好的解释)将优先考虑正确的答案.随意提交更好的JavaScript实现或链接到一个.
非常感谢!
传统上,在 php 中,一个 .htaccess 文件用于将 http 重定向到 https。
在不使用 .htaccess 的情况下,VueJS 中是否有更好的方法?
我想将用户从我的 http 网站重定向到 https 网站,是否有像元或 JavaScript 或 html 这样的网站来执行此操作,我的网站有一个 http 服务器以及一个安全版本。