Safari无法使用https和hash params遵循服务器端重定向

时间:2015-08-03 21:58:13

标签: redirect web https safari

Safari(在我的情况下为8.0.7)无法遵循重定向。这在Chrome中有效,只在特定情况下失败。

据我所知,当涉及哈希参数时,重定向只会在不同域/子域上的两个https连接之间移动时失败。它适用于查询参数或其中一个域是localhost。

根据invariant,似乎Safari在过去的某个时刻不会重定向哈希参数,但我无法确认是否仍然如此。

它看起来是一个安全/沙盒问题,但如果有人能够准确地指出这个问题,我会感兴趣。

1 个答案:

答案 0 :(得分:1)

最后,这确实是一个很大的Safari问题,但也是一个完美的风暴导致我的问题。

<强> TL; DR:

除非路径完全匹配,否则Safari不会在重定向上应用哈希参数。修复了Safari 9.x

<强>具体细节:

服务器基础架构正在将simple重定向到/foo。因此,原始哈希参数不会被重新应用。

/foo/

结果

http://localhost:<port>/foo#/one

强制尾随斜杠修复了问题

http://localhost:<port>/foo

结果

http://localhost:<port>/foo/#/one