PHP 位置标头忽略哈希

2022-01-11 00:00:00 location header php facebook

可能重复:
URL 片段和 302 重定向

我正在将 Facebook 登录集成到我的网站中.当 Facebook 使用 code 查询参数重定向到我的网站时,末尾有一个哈希 http://myurl.com/code=xxx#_=_然后当我从这个网址重定向到我网站上的另一个网址时:

I am integrating Facebook login into my site. When Facebook redirects to my site with the code query parameter, there is a hash at the end http://myurl.com/code=xxx#_=_ When I then redirect from this url to another url at my site:

header('Location: http://myurl.com/home');

它保留哈希标记并以 http://myurl.com/home#_=_

有没有办法在没有哈希的情况下进行重定向,或者如果有人熟悉 Facebook,有没有办法让它首先停止添加哈希?

Is there a way to redirect without the hash or if anyone is familiar with Facebook a way to get it to stop adding the hash in the first place?

推荐答案

似乎 JavaScript 是删除哈希的唯一方法,因为哈希永远不会以任何方式发送到服务器.所以我在空白页中添加了一个脚本:

It seems JavaScript is the only way to remove a hash since the hash is never sent to the server in any way. So I added a script to a blank page:

window.location.hash = '';  window.location.href = "http://myurl.com"

这是目前的答案,但我会接受更好的答案.

This is the answer for now, but I will accept better ones.

相关文章