解决方法
URL中的哈希和感叹号称为hashbang,通常用于JavaScript负责实际加载页面的Web应用程序.散列之后的内容从不发送到服务器.所以例如,如果你有url example.com/#!recipes/bread.在这种情况下,example.com上的页面将从服务器获取,这可能包含一段JavaScript.该脚本然后可以从location.hash读取,并将页面加载到/ recipes / bread.
@H_301_8@Google还将此URL方案视为AJAX网址,并将尝试从服务器中获取内容,因为它将由您的JavaScript呈现.如果您打算使用这种技术制作一个网站,请查看google’s AJAX crawling documentation for webmasters.还请记住,您不应该依赖javascript启用,如Gawker learned the hard way.
@H_301_8@这个hashbang在许多网站上都不会使用,甚至是JavaScript都是路由.这是可能的,因为所有主流浏览器支持history API.为此,他们使网站上的每个路径返回相同的Javascript,然后查看实际的URL来加载内容.当用户点击链接时,JavaScript会拦截点击事件,并使用History API将新页面推送到浏览器历史记录,然后加载新的内容.