Apache FallbackResource和请求路径行为

时间:2015-04-24 15:22:10

标签: angularjs apache .htaccess

我在Apache 2.4网络服务器上创建了一个带有angularjs的简单网站。我的网站文件夹如下所示:

APACHE24\HTDOCS\TEST
|   .htaccess
|   index.html
|
+---js
|       angular-route.js
|       angular.min.js
|       app.js
|
\---partials
        show-gem.html

我设置了一些路线,比如这些路线:

$routeProvider.when("/gem/:gemId", {
    controller: "ShowGemController",
    controllerAs: "showGemCtrl",
    templateUrl: "partials/show-gem.html"
});

我已将FallbackResource /test/index.html启用到我的.htaccess文件中。

问题:

每当我手动输入网址时,我都会找到正确的页面(例如我写http://localhost:8080/test/gem/123并获得相应的页面),但这怎么可能发生呢?我不应该被重定向到index.html,因为/test/gem/123不是现有资源吗?角度怎么知道它应该显示那个特定的模板?

1 个答案:

答案 0 :(得分:1)

实际上,

FallbackResource是一种重写URI的简便方法。因此,不会有任何重定向到index.html,但您请求的URI将映射index.html,Angular可以在其中处理它。

有关详细信息,请参阅以下文章:

我总是倾向于使用mod_rewrite来处理这个问题,因为它更精细,并且可以让你控制。