У меня есть приложение angularJS, использующее ui-router, здесь мое содержимое файла конфигурации:
app
.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function($stateProvider, $urlRouterProvider, $locationProvider) {
if(window.history && window.history.pushState) {
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
}
$urlRouterProvider
.when('/', 'login')
.otherwise('/error404');
$stateProvider
.state({
name: 'main',
abstract: true,
templateUrl: '/templates/navbar.html',
controller : 'NavBarController',
})
.state({
name: 'main.login',
url: '/login',
templateUrl: '/templates/login.html',
controller : 'LoginController as login',
data: {
authenticate: false,
admin: false,
navBar: false,
}
});
}]);
Также у меня есть файл.htaccess, содержащий:
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
RewriteRule ^ /index.html
Структура моей папки следующая:
- www
- mP
- mPc
-.htaccess
-/js (containing all angularJS files)
-/templates (containing all the template files)
- index.html
И мой файл index.html имеет следующий контент:
<!DOCTYPE html>
<html ng-app='App'>
<head>
<title>App</title>
<link rel="stylesheet" href="/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<script src="/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script src="/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
<script type="text/javascript" src="/angular.min.js"></script>
<script type="text/javascript" src="/angular-ui-router.min.js"></script>
<script type="text/javascript" src="/app.js"></script>
<script type="text/javascript" src="/constants.js"></script>
<script type="text/javascript" src="/directives.js"></script>
<script type="text/javascript" src="/filters.js"></script>
<script type="text/javascript" src="/services.js"></script>
<script type="text/javascript" src="/controllers.js"></script>
<script type="text/javascript" src="/config.js"></script>
<script type="text/javascript" src="/run.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
</head>
<body ng-controller='MainController'>
<div class="container">
<div class="row">
<div class="center">
<section ui-view></section>
</div>
</div>
</div>
Когда я пытаюсь получить доступ к сайту с помощью localhost/mP/mPc/, он переходит на localhost/error404, и когда я использую localhost/mP/mPc/login, появляется сообщение об ошибке "Не найдено. Запрошенный URL/index.html не найден этот сервер "
Любая помощь будет высоко оценен!
Для входа
$urlRouterProvider
.when('/', '/login')
Поскольку вы используете шаблоны из одной папки, вы можете использовать относительный путь
templateUrl: 'templates/navbar.html',