散列标记不会从URL AngularJS中删除

时间:2016-12-19 08:02:36

标签: angularjs hash angular-ui-router

我正在使用角度1创建静态网站。我使用ui-router完成了路由。 现在我想从网址中删除#tag。

我用Google搜索并获得启用html5模式的解决方案。 我这样做了:

app.config(function($locationProvider){
    $locationProvider.html5mode= true;
})

并在index.html中添加了<base href="/">,但它不起作用。 当我点击localhost/myapp/显示Internal server error时。 请帮我解决一下。

1 个答案:

答案 0 :(得分:0)

启用html5mode后,您需要重写服务器。

如果没有html5mode,当网址栏显示为http://localhost/时,您的浏览器会向http://localhost/#/myapp/发出请求(因为浏览器不会在#符号后发送任何内容)。

使用html5mode,现在#符号消失了,浏览器正在向http://localhost/myapp/发出请求,您的服务器可能没有配置这个请求。

这是一个可以帮助您的资源:https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode