AngularJS-删除Hashbang后重新加载页面时出现404错误

时间:2018-08-15 14:55:52

标签: javascript angularjs hashbang

使用

从我的路线中删除哈希后

$locationProvider.html5Mode(true);

现在,当访问页面(例如“ domain.com/download”)时,它将起作用。但是,如果我重新加载此页面,则会出现404错误。只能通过键入“ domain.com/#!/download”来打开“ domain.com/download”之类的链接。加载后,它将再次将我重定向到正常的“ domain.com/download”页面。

我正在使用v1.3.2进行路由,而其余部分则使用v1.6.3(不要问我为什么没有将此站点设为大声笑)。

1 个答案:

答案 0 :(得分:2)

这是AngularJS Documentation所说的:

  

使用此模式需要在服务器端重写URL,基本上   必须重写所有指向应用程序入口点的链接   (例如index.html)。为此,需要标签也很重要   的情况,因为它允许AngularJS区分   作为应用程序基础的url和应处理的路径   通过应用程序。

您必须将.htaccess更改为以下内容:

RewriteEngine On 
Options FollowSymLinks

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /#/$1 [L]