【发布时间】:2019-01-22 11:26:05
【问题描述】:
使用
从我的路由中删除 hashbang 后$locationProvider.html5Mode(true);
现在当访问一个页面时,例如“domain.com/download”,它就可以工作了。但是如果我重新加载这个确切的页面,它会给我一个 404 错误。像“domain.com/download”这样的链接只能通过输入“domain.com/#!/download”来打开。一旦加载,它会再次将我重定向到正常的“domain.com/download”页面。
我使用 v1.3.2 进行路由,而 v1.6.3 用于其余的(不要问我为什么我没有制作这个网站,哈哈)。
【问题讨论】:
-
你需要配置你的路由(在
.htaccess) -
这很常见吗?因为我不必这样做来让 hashbangs 自己工作。
-
是的,这很常见,因为您需要这样做才能使网址没有井井有条。 (您的 Angular 应用程序实际上位于路径“/”;确定路径时忽略 URL 的哈希部分,因此“/#!/whatever”仍然指向“/”。“/download”指向不同的路径,默认情况下,这不是您的应用程序;因此您需要重新配置您的网络服务器以将所有 url 指向同一路径,Angular 可以从那里找出如何处理它。)
标签: javascript angularjs hashbang