我们当前的网站是使用AngularJS
构建的,因此其中包含/#/
的网址,例如http://www.website.com/#/termsofuse
短视,条款或使用的网址已经硬编码到移动应用程序中,虽然已经更改,但有些用户仍然使用旧版本。
我们正在转移到WordPress网站(在Azure上运行),使用条款的新网址是http://www.website.com/termsofuse
问题是,如果使用旧网址,我想重定向到新网址(来自旧版本中硬编码的应用),但我无法通过{找到一种方法来执行此操作URL中的{1}}(否则我可以使用旧网址上的/#/
进行重定向)。
我已尝试在Google和这里搜索解决方案,但我确定有人遇到此问题,但我发现很难定义搜索字词以获得有价值的结果。
我还考虑在WordPress stackexchange上发布这个,但它不是一个真正的WordPress问题,我假设我需要使用其他方法。
欣赏任何想法或建议。提前谢谢。
到目前为止,我已经从响应中了解到我可能需要一个JS解决方案并且基于此我发现下面看起来类似(至少告诉我如何在URL之后隔离片段)。由于我的问题非常具体,而且我只需要查找特定的片段#/ termsofuse我可以使用此代码(带有midifications)来查找该字符串并根据它重定向吗?
答案 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];
}
})();