我使用AngularJS和GAE(Google App Engine - Java)创建了一个应用程序.
我想转换它与SEO兼容.
<meta name="fragment" content="!" /><base href="/"> 并且身体通过动态加载<div ui-view></div>.
$locationProvider.html5Mode(true);
网址工作正常,但当我刷新页面时,我收到404错误.
你有什么想法,这是什么原因造成的?
无论什么时候,我都会收到404页面的服务:
1.)刷新我的Angularjs站点上的任何页面(除了根页面)
要么
2.)单击" 返回"从404页面转到根页面(根页面为404)
这是我的.config()代码
'use strict';
angular.module('mmApp', ['ngResponsiveImages'])
.config(function ($locationProvider, $routeProvider) {
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix = '!';
$routeProvider
.when('/', {
templateUrl: '/views/design.html',
controller: 'MainCtrl'
})
.when('/about', {
templateUrl: '/views/about.html',
controller: 'MainCtrl'
})
.when('/contact', {
templateUrl: '/views/contact.html',
controller: 'MainCtrl'
})
.otherwise({
redirectTo: '/'
});
});
Run Code Online (Sandbox Code Playgroud)
我遇到过类似的问题,但不太了解答案或如何实现它们.
AngularJS - 为什么在更改网址时$ routeProvider似乎不起作用,我收到404错误
接受的答案是设置Apache以重新配置到根的所有路径.我的网站是在Github Pages上.我的仓库中有一个.htaccess文件,gh-pages但我不知道如何配置它以将所有路径发送到根目录.
答案说另外要考虑的是使用<base>元素,<base href="/" />但我会在哪里放置?在我的index.html?如果是,那么在该文件的顶部或底部?另外,我会把href价值留给/?
.htaccess github http-status-code-404 angularjs github-pages