根据用户的不同,我有一个问题出现在不同的场景中 .
A组:当看起来似乎是选择用户加载到主页并单击导航锚点时,该锚点应加载AJAX并使用history.pushState('','',destinationUrl);他们没有得到回应 . 控制台中显示错误消息:
未捕获的DOMException:无法在“历史记录”上执行“pushState”:无法在原点为“http://www.example.net”的文档中创建URL为“http://example.net/foo”的历史状态对象'和URL'http://www.example.net/'
根据搜索,我认为问题不包括example.net/foo中的www . 我将导航锚点更新为“http://www.example.net/foo” .
这解决了A组的问题,但为较大的用户群B组创建了相同的问题,但出现了类似的错误:
未捕获的DOMException:无法在“历史记录”上执行“pushState”:无法在原点为“http://example.net”的文档中创建URL为“http://www.example.net/foo”的历史状态对象'和URL'http://example.net/' .
对于B组,网址差异被反转 . 对于这两个群组,该问题似乎与浏览器无关 . 该网站使用Craft CMS .
任何可能发生的方向或解决方案,我如何解决这两个问题?
1 回答
感谢@Patrick Evans . 使用mod_rewrite的建议让我在这里:https://httpd.apache.org/docs/2.4/rewrite/remapping.html#canonicalhost
我最终使用了“if”指令推荐,但也测试了mod_rewrite,它也运行良好 .