我们说这是在index.php
的{{1}}文件中:
http://mysite.com/
如果有人输入了网址if ( !logged_in() ) {
header("Location: http://www.mysite.com/login/");
}
,PHP会将“#profile / edit /”复制到重定向的地址。因此,用户被发送到:http://mysite.com/#profile/edit/
。这不是我想要的行为。我只是希望它重定向到mysite.com/login/#profile/edit/
。
有谁知道如何告诉PHP只使用我提供的位置,并忽略认为它应该使用的任何其他信息?
编辑:这对我来说是一个问题的原因是我使用mysite.com/login/
的路由系统(它依赖于“#parms”进行导航)。< / p>
EDIT2:在使用哈希时,看起来PHP重定向不安全,因为浏览器的行为不一致。当然,另一种方法是使用基于javascript的解决方案:
Backbone
然而,这是一个严重的痛苦,因为我现在需要PHP告诉javascript稍后在页面中进行重定向。但是,如果我不这样做,当用户点击function redirect(href) {
// window.location.hash = ""; (not necessary)
window.location = href;
}
的书签(在他们登录时制作)时,它会将其重定向到mysite.com/#profile/
,此时他们会告诉他们已经到达网址无效。
呃。