所以我需要更改我的网址,以便Google Analytics可以跟踪它。 Google Analytics不会在链接中使用“/#/”(哈希)接受它。也就是说,我使用了Angular的locationProvider并修改了我的应用程序路由:
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.2/lodash.min.js"></script>
我的网址很好,并将其更改为http://website.com/steps而不是http://website.com/#/steps。但是,现在,如果用户刷新(f5)链接,则会抛出404错误而不确定原因。此外,当刷新被称为“http://website/steps#/steps”时,似乎以某种方式将其作为URL注入。
有关于此的任何想法吗?
非常感谢。
答案 0 :(得分:0)
问题可能出在服务器端。您必须配置服务器,以便它使用您的html文件响应每个请求。例如在express:
var app = require('express')();
app.configure(function(){
// static - all our js, css, images, etc go into the assets path
app.use('/assets', express.static('/assets'));
app.get('/api/users/:id', function(req, res){
// return data for user....
});
// This route deals enables HTML5Mode by forwarding missing files to the index.html
app.all('/*', function(req, res) {
res.sendfile('index.html');
});
});
当您重新加载页面时,请求会转到应用程序的服务器端,并尝试解析该URL,但它可能无法解决,因为这些路由只存在于应用程序的客户端。 / p>
最好在每个服务器端路由前加一个/api
路由前缀,这样您就可以轻松区分客户端和服务器端路由。