我已使用以下代码从网址中删除了#:
app.config(function($locationProvider) {
$locationProvider.html5Mode(true);
});
如果我使用主页链接访问网站,如果我直接打开任何其他链接而不是主页它不能正常工作,它工作正常。
我的路线代码如下:
(function () {
'use strict';
var app = angular.module('app');
app.config(function($locationProvider) {
$locationProvider.html5Mode(true);
});
// Collect the routes
app.constant('routes', getRoutes());
// Configure the routes and route resolvers
app.config(['$routeProvider', 'routes', routeConfigurator]);
var resolver = function (access) {
return {
load: function ($q) {
if (access) { // fire $routeChangeSuccess
var deferred = $q.defer();
deferred.resolve();
return deferred.promise;
} else { // fire $routeChangeError
return $q.reject("/login");
}
}
}
}
function routeConfigurator($routeProvider, routes) {
routes.forEach(function (r) {
$routeProvider.when(r.url, r.config);
});
$routeProvider.otherwise({ redirectTo: '/' });
}
// Define the routes
function getRoutes() {
return [
{ url: '/', config: { templateUrl: 'app/home/home.html', title: 'Home' } },
{ url: '/login', config: { title: 'login', templateUrl: 'app/admin/login.html' } },
{ url: '/aboutus', config: { title: 'About Us', templateUrl: 'app/aboutus/aboutus.html' } },
{ url: '/apis', config: { title: 'Api', templateUrl: 'app/apis/apis.html' } },
{ url: '/apisdetails', config: { title: 'Api', templateUrl: 'app/apis/apisdetails.html' } },
{ url: '/intermediates', config: { title: 'Intermediates', templateUrl: 'app/intermediates/intermediates.html' } },
{ url: '/intermediatesdetails', config: { title: 'Intermediates', templateUrl: 'app/intermediates/intermediatesdetails.html' } },
{ url: '/products', config: { title: 'Products', templateUrl: 'app/products/products.html' } },
{ url: '/productdetails', config: { title: 'Products', templateUrl: 'app/products/productdetails.html' } },
{ url: '/industryserved', config: { title: 'Industry Served', templateUrl: 'app/industryserved/industryserved.html' } },
{ url: '/enquirys', config: { title: 'Enquiry', templateUrl: 'app/enquiry/enquiry.html' } },
{ url: '/latestnews', config: { title: 'News', templateUrl: 'app/news/news.html' } },
{ url: '/newsdetail/:newsID', config: { title: 'News', templateUrl: 'app/news/newsdetail.html' } },
{ url: '/contactus', config: { title: 'Contact Us', templateUrl: 'app/contactus/contactus.html' } },
{ url: '/industryserved', config: { title: 'Industry Served', templateUrl: 'app/industryserved/industryserved.html' } },
{ url: '/searchresult', config: { title: 'Search Result', templateUrl: 'app/search/searchresult.html' } },
{ url: '/enquirylist', config: { title: 'Enquiry List', templateUrl: 'app/admin/enquirylist.html' } },
{ url: '/dashboard', config: { title: 'ashboard', templateUrl: 'app/admin/dashboard.html' } },
{ url: '/api', config: { title: 'ashboard', templateUrl: 'app/admin/api.html' } },
{ url: '/intermediate', config: { title: 'Intermediate List', templateUrl: 'app/admin/intermediate.html' } },
{ url: '/product', config: { title: 'ashboard', templateUrl: 'app/admin/product.html' } },
{ url: '/contactlist', config: { title: 'contact list', templateUrl: 'app/admin/contactlist.html' } },
{ url: '/news', config: { title: 'News', templateUrl: 'app/admin/News.html' } },
{ url: '/apiintermediate', config: { title: 'apiintermediate', templateUrl: 'app/admin/apiintermediate.html' } }
];
}
})();
作为一个示例,我的网站链接www.xyz.com
当我通过主页浏览网站时,它正在运行。但如果我直接打开www.xyz.com/product
则无效。
非常感谢任何帮助
答案 0 :(得分:0)
您可能缺少html 5模式所需的基本网址。
将<base href="/" target="_blank">
放入<head>
我无法重复您的错误,您的意思是如果您在浏览器中更改网址,它不起作用吗? here是我在jsfiddle中制作的一个例子,看起来它工作得很好。