angular 1.3.15 html5mode deeplinking,route,hash

时间:2015-05-15 05:31:02

标签: javascript angularjs

我启用了html5mode true并将<base href="/">放在head标记中。它似乎工作正常。但是当我刷新页面时,它会给我一个错误。

The requested URL /updated_1/work was not found on this server. 

在另一篇文章中找到了这个。

  

这个问题是由于使用了AngularJS 1.1.5(这是不稳定的,显然有一些错误或路由的实现不同于1.0.7)

     

将其恢复到1.0.7会立即解决问题。

     

已经尝试了1.2.0rc1版本,但还没有完成测试,因为我不得不重写一些路由器功能,因为他们把它从核心中取出。

     

无论如何,使用AngularJS vs 1.0.7时,此问题已解决。

使用旧版本会产生更多错误。所以我虽然使用最新版本。我正在使用AngularJS v1.3.15。

这是角版的问题吗?有人可以提出最佳解决方案。

由于

1 个答案:

答案 0 :(得分:1)

您需要允许直接链接页面,以便Angular可以处理它们。如果您不这样做,当用户刷新时,它们会出现空白屏幕。

在您的文件夹中创建一个.htaccess文件,然后粘贴(假设您的主文件名为index.html)。

<ifModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !index
    RewriteRule (.*) index.html [L]
</ifModule>

如果问题仍然存在,请告诉我。