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