重定向是保持哈希

Ste*_*ins 5 php hash .htaccess

出于某种原因,当我使用header("Location")新页面重定向时保留哈希值.

所以,如果你在 example.com/index.html#signup

我重定向

header("Location: /account.html");
exit;
Run Code Online (Sandbox Code Playgroud)

但它表明了 example.com/account.html#signup

为什么会这样,我怎么能阻止它呢?即example.com/account.html


注意:

我正在使用.htaccess重定向file.htmlfile.php

RewriteRule ^([a-zA-Z0-9-_.]+)\.html$ $1.php [L]
Run Code Online (Sandbox Code Playgroud)

N R*_*ler 5

“我如何停止它”的简单答案是在Location标题中指定一个空哈希:

header('Location: /account.html#');
Run Code Online (Sandbox Code Playgroud)

但是,这种行为并不能保证全面。在我的快速测试中,它似乎适用于 WebKit 和 IE9。尽管如此,您还是偶然发现了 HTTP 规范中的一个黑洞