我正在开发一个HTML网站,在index.HTML页面中有4个div。
早些时候,单击div部分用于展开它,而另一个部分的宽度变小了。
然后,当我们点击任何div.时,客户要求确保URL已更改
假设我们单击名为test
的div。页面url应该变成/test.html,而不需要重新加载页面。我已经使用历史API实现了这个功能。
现在,当我点击test
div时,url变成/test.html,然后如果我点击一个链接,它会重定向到另一个页面。
在这个页面上,如果我点击浏览器返回按钮,它会将我带到/test.html,它不存在,我们会得到一个404错误。
我试着制作一个名为test.html的重定向页面,它会重定向回index.html页面,但在这样做的时候我们会眨眼
我想问的是,这个问题是否有解决方案?
如果在web服务器上启用了mod_rewrite
,则可以将其设置为URL重写规则。
RewriteEngine On
RewriteRule ^test.html originalfile.html [NC]
当用户按下back按钮并导航到test.html
,而浏览器地址栏仍显示test.html
时,这将把test.html
重定向到原始html文件。从这里,您应该能够检测javascript中的地址,并显示相应的div
。
(请注意,根据服务器的配置方式,您可能需要修改上述重写规则。有关创建重写规则的更多信息,请参阅此链接。