[英]Angular UI router request URL
我有一个使用UI Router的Angular APP。
.config(function($stateProvider) {
$stateProvider
.state('blog', {
url: '/blog',
templateUrl: 'assets/javascript/blog/blog.html',
controller: 'BlogCtrl',
controllerAs: 'vm'
})
});
如果我按下带有ui-sref="blog"
的链接,则该应用程序将加载博客视图,但是如果我在新标签myapp / blog中打开,则会引发404错误。
PS。 我正在使用HTML5模式删除/#/
更新:
我在app.js中使用的每条路线都有单独的文件
.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise('home');
$locationProvider.html5Mode(true);
});
并在<head />
包含<base href="/">
<head />
我做错了吗? 有人可以解释一下吗?
要使此功能在刷新/重新加载上起作用,您需要在根目录中正确设置一个.htaccess文件或类似文件并启用重写引擎。
这样的事情应该起作用。
RewriteEngine On
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
# If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.