重新加载页面Angular html5mode,以base为子目录

时间:2015-10-28 13:59:44

标签: angularjs reload subdirectory

我想知道我做错了什么或我错过了什么。我试图使用html5mode和我的基础href作为子目录。如果我从该基地离开并重新加载,页面会尝试跳回到子目录之前。

如果这没有任何意义,请告诉我我是如何配置的......

在我的app.js文件中,我设置了:

$locationProvider.html5Mode(true)

在我的index.html文件中,在我的标记中我已设置:

<base href="/subdirectory/">

因此,如果我导航到http://url.com/subdirectory一切都很好。

如果我点击链接访问http://url.com/subdirectory/subpage,一切都很好。

但是,如果我重新加载子页面,或者,如果我尝试直接导航到该子页面,它将不会呈现。事实上,我认为浏览器认为它试图从http://url.com开始,而不是从http://url.com/subdirectory/开始

遇到类似问题的人能解释一下这个解决方案吗?

我一直把头撞在墙上。我真的很感激。谢谢!

2 个答案:

答案 0 :(得分:0)

您必须将服务器配置为将所有请求重定向到http://url.com/subdirectory/subpagehttp://url.com/subdirectory/指向的相同位置。

答案 1 :(得分:0)

所以这就是解决方案。

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^(.*) /subdirectory/index.html [NC,L]
</IfModule>