我从我们以前的开发继承了一些代码,我发现这段代码。
<?php
if($this->loginAction->isAuthenticated()){
?>
<script type="text/javascript">
window.parent.location.href="https:/home";
</script>
<?php
}
?>
我一直在寻找上了一段时间,我不知道为什么他把那里的快捷方式的URL。 我认为,URL应该是https://mysite.com/home 。 我基本上不知道这段代码做。
编辑:我知道这个代码是重定向,如果用户进行身份验证,但我不知道是什么奇怪的网址(HTTPS:/家)是在那里做什么。 此代码工作。
感谢您的任何帮助。
EDIT2:根据我的同事,这是JS秘密:)去测试它的一个。 这个代码两行应具有相同的功能:
window.parent.location.href="https:/home";
window.parent.location.href="https://www.my-testing.com/home";
这是URI,并根据此规范是有效的: https://www.ietf.org/rfc/rfc2396.txt第3节中所报的位置:(大胆和亮点是我)这是说,该方案HTTPS接着隔板冒号:那么剩下的是可选的。 因此,单正斜杠可能解释为“根或“满” URI https://开头的家 ”,或仅仅是当前提供的“/家”。 很有可能在随后的样子“ https://www.example.com/home ”如果您的网站是www.example.com(它不是,但是,一个是在规格为保留的名称为好)这是DNS您的网站的地址。 请注意,如果该方案被失踪“//www.ourbug.net”那么这将被翻译成当前使用的方案(HTTP或HTTPS对大多数资源)
从参考报价:
3. URI句法成分
的URI语法取决于方案。 在一般情况下,绝对URI的写法如下:
<scheme>:<scheme-specific-part>
绝对URI包含计划正在使用的名称()后面跟一个冒号(“:”),然后一个字符串(),其解释依赖于计划。
的URI语法不要求特定的方案,部分具有任何一般结构或语义的集合这是所有URI中常见的。 然而,URI的一个子集也分担代表命名空间中的层次关系的共同语法。 这种“通用URI”语法由四个主要部分组成的序列组成:
<scheme>://<authority><path>?<query>
其中的每一个,不同之处,可以是从特定URI不存在。 例如,一些URI方案不允许的成分,和其他人不使用的组件。
absoluteURI = scheme ":" ( hier_part | opaque_part )
URI是分层的性质使用斜杠“/”字符用于分离分层组件。 对于某些文件系统中,“/”字符(用于表示URI的层次结构)是用于构造一个文件名的层次结构的分隔符,从而URI路径将类似于一个文件路径名。 这并不意味着资源是一个文件或该URI映射到一个实际的文件系统路径。
hier_part = ( net_path | abs_path ) [ "?" query ]
net_path = "//" authority [ abs_path ]
abs_path = "/" path_segments"
嗯,这似乎说如果登录动作验证,那么将用户重定向到一个新的URL。
好像给我的错误。 我不相信的https:/ home是什么比一个错字多。
尝试:
<script type=text/javascript>
window.parent.location="https://www.my-testing.com/home";
</script>