我正在构建我的投资组合作为前端开发者,它仍处于开发阶段。为了测试它,我使用FTP将文件上传到我的justhost域,这是成功的。现在,说我的网站是www.johndoe.com(好吧,我的实际网站是'hassanefall.com',以便更容易理解:)。
(我正在使用angularjs作为路线)我想去一个特定的路线/页面:www.hassanefall.com/about。当我浏览单击链接时,about页面有效。
但是,当我在url中输入确切的url路径时,会出现404错误页面。
我有'/ work','/ contact'等,每当我直接输入网址'www.hassanefall.com/contact'而不导航到它时,就会出现404页面。好像每个页面/路由的文件都不存在。帮助?
这是代码。
注意:我使用base'/'和$ relocationProvider从url中删除了哈希。如果有答案,我们非常感激。
var app = angular.module('mySite', ['ngRoute']);
app.config(function($routeProvider, $locationProvider){
$routeProvider
.when('/', {
controller: 'HomeController',
templateUrl: 'views/home.html'
})
.when('/projects', {
controller: 'HomeController',
templateUrl: 'views/projects.html'
})
.when('/service', {
controller: 'HomeController',
templateUrl: 'views/service.html'
})
.when('/about', {
controller: 'HomeController',
templateUrl: 'views/about.html'
})
.when('/contact', {
controller: 'ContactController',
templateUrl: 'views/contact.html'
})
.when('/portfolio/:id', {
controller: 'ItemController',
templateUrl: 'views/item.html'
})
.otherwise({redirectTo: '/'});
$locationProvider.html5Mode(true);
});
如果您需要更多代码示例,请告诉我们。 :)
答案 0 :(得分:1)
您的服务器应支持HTML5模式。这里发生的是服务器正在寻找您的客户端路由(例如,'联系'),但没有找到它。这就是为什么你找不到404错误的原因。
另一种解决方案是返回哈希模式..