使用/#/重定向URL

时间:2015-09-07 13:02:49

标签: php angularjs wordpress azure

我们当前的网站是使用AngularJS构建的,因此其中包含/#/的网址,例如http://www.website.com/#/termsofuse

短视,条款或使用的网址已经硬编码到移动应用程序中,虽然已经更改,但有些用户仍然使用旧版本。

我们正在转移到WordPress网站(在Azure上运行),使用条款的新网址是http://www.website.com/termsofuse

问题是,如果使用旧网址,我想重定向到新网址(来自旧版本中硬编码的应用),但我无法通过{找到一种方法来执行此操作URL中的{1}}(否则我可以使用旧网址上的/#/进行重定向)。

我已尝试在Google和这里搜索解决方案,但我确定有人遇到此问题,但我发现很难定义搜索字词以获得有价值的结果。

我还考虑在WordPress stackexchange上发布这个,但它不是一个真正的WordPress问题,我假设我需要使用其他方法。

欣赏任何想法或建议。提前谢谢。

到目前为止,我已经从响应中了解到我可能需要一个JS解决方案并且基于此我发现下面看起来类似(至少告诉我如何在URL之后隔离片段)。由于我的问题非常具体,而且我只需要查找特定的片段#/ termsofuse我可以使用此代码(带有midifications)来查找该字符串并根据它重定向吗?

Checking URL fragment for a keyword

2 个答案:

答案 0 :(得分:1)

可悲的是,这是不可能的,因为#之后的所有内容都没有发送到服务器。

许多人在这种情况下做的是使用javascript / ajax解决方案来加载页面。

答案 1 :(得分:0)

根据您的描述,因为您的新网站是在没有AngularJs的WordPress上构建的。

所以它很难以传统的方式满足你的需求。由于主题标签 # 是一个永远不会在服务器上传递的客户端符号,因此Azure上的IIS将无法获取该网址的 # 之后的部分,URL重写模块也不会看到它。

因此,如果可以修改您的WordPress网站的主页,这里有一个使用JavaScript的解决方法获取URL的 # 之后的部分并重定向到正确的URL。 以下是代码段:

(function () { console.log(window.location.href); var url = window.location.href; params = url.split('#'); console.log(params); if(params[1]){ window.location.href = params[1]; } })();