Javascript:访问地址栏并重定向到新URL?

Javascript:访问地址栏并重定向到新URL?,javascript,Javascript,我得到了一个旧的Javascript程序,该程序将一些状态信息存储在URL中,超过“#”,这样状态信息就不会传递到HTTP服务器 http://example.com/oldprogram/#/some-parms 我需要重写程序,以便在服务器上处理参数。此外,我想将旧URL(例如保存在电子邮件中)重定向到新服务 我的问题: 如何打开旧表单的URL,让Javascript重写URL并重定向到新重写的URL?出于讨论目的,将“#”翻译成“@”将是完美的 i、 例如,单击此链接: http://e

我得到了一个旧的Javascript程序,该程序将一些状态信息存储在URL中,超过“#”,这样状态信息就不会传递到HTTP服务器

http://example.com/oldprogram/#/some-parms
我需要重写程序,以便在服务器上处理参数。此外,我想将旧URL(例如保存在电子邮件中)重定向到新服务

我的问题:

如何打开旧表单的URL,让Javascript重写URL并重定向到新重写的URL?出于讨论目的,将“#”翻译成“@”将是完美的

i、 例如,单击此链接:

http://example.com/oldprogram/#/some-parms
导致加载此页面:

http://example.com/newprogram/@/some-parms
您可以使用:

window.location = ("" + window.location).replace("#", "@");
这将根据您的请求重定向到结果URL。 显然,您必须将此脚本放入旧页面

如果这不是一个选项,那么就无法使用JS强制重定向。 还有其他选项,如URL重写和通过Web服务器配置重定向


例如,对于Apache,您可以使用。

.replace(“#“,“@”)
或者我遗漏了什么?您不能在客户端执行此操作。如果服务器不再解析您要从中定向的URL,那么首先如何加载JavaScript?@LloydBanks,数据在地址栏中。我认为如果地址栏的内容可以访问,它将包括“#…”数据?
窗口。location
返回完整的URL。@MarkHarrison,旧URL是否显示404错误页?您可以在
重定向中硬编码新URL。我不确定,但我认为mod rewrite在哈希(#)后对URL不起作用。但是是的,我认为你的
replace()
代码应该可以工作。window.location很好,谢谢。URL重写不起作用,因为浏览器不会在#之后发送任何内容。