For some reason when I redirect with header("Location") the new page keeps the hash.
So if you’re on example.com/index.html#signup
I redirect with
header("Location: /account.html");
exit;
But then it shows example.com/account.html#signup
Why is this happening and how can I stop it? ie example.com/account.html
Note:
I am using an .htaccess to redirect file.html to file.php
RewriteRule ^([a-zA-Z0-9-_.]+)\.html$ $1.php [L]
The simple answer to “how do I stop it” is to specify an empty hash in the
Locationheader:However, this behavior isn’t guaranteed across the board. It seems to work in WebKit and IE9 in my quick test. Nevertheless, you’ve stumbled on a black hole in the HTTP specification.