【发布时间】:2011-07-14 02:15:22
【问题描述】:
由于某种原因,非 IE 浏览器在发送服务器端重定向(使用 Location 标头)时似乎会保留 URL 哈希(如果存在)。示例:
// a simple redirect using Response.Redirect("http://www.yahoo.com");
Text.aspx
如果我访问:
Test.aspx#foo
在 Firefox/Chrome 中,我被带到:
http://www.yahoo.com#foo
谁能解释为什么会这样?我也尝试过在不同平台上使用各种服务器端重定向(不过,所有这些都会导致 Location 标头),这似乎总是会发生。我在 HTTP 规范中的任何地方都没有看到它,但这似乎确实是浏览器本身的问题。 URL 哈希(如预期的那样)永远不会发送到服务器,因此服务器重定向不会被它污染,浏览器只是出于某种原因将其持久化。
有什么想法吗?
【问题讨论】:
-
URL Fragment and 302 redirects 解决了同样的问题。那里的答案很好。
标签: http url redirect hash fragment