我是AngularJS的初学者,我正在尝试从URL中删除#
符号,并且我正在使用Visual Studio code
IDE,我按照以下步骤从URL中删除了#
并在启动时具有HTTP Live server
正常工作且已从URL删除#
的应用程序,但是当我重新加载页面时,我得到404可以有人建议我
var routerApp = angular.module('routerApp', ['ui.router']);
routerApp.config(function ($stateProvider,$locationProvider,$urlRouterProvider) {
$urlRouterProvider.otherwise('/employeeList');
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'templates/home.html'
})
.state('employeeList', {
url: '/employeeList',
templateUrl: 'templates/list_of_employees.html',
controller: 'EmployeeController'
})
$locationProvider.html5Mode(true).hashPrefix('')
});
<head>
<base href='/'>
</head>
答案 0 :(得分:0)
使用此$ locationProvider.html5Mode(true)要求在服务器端重写URL,基本上,您必须重写所有指向应用程序入口点的链接(例如index.html)。
假设您正在使用Apache,并且索引文件是index.php或index.html,请尝试将以下内容添加到.htaccess文件中以创建重写规则。
<IfModule mod_rewrite.c>
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) /index.php/#/$1
</IfModule>