问题
I'm trying to remove index.html
of the url using html5Mode(true)
in angularjs, this is the code:
angular.module('myApp', [
'ngRoute',
'myApp.filters',
'myApp.services',
'myApp.directives',
'myApp.controllers'
]).
config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider.when('/home', {templateUrl: 'views/home.html'});
$routeProvider.when('/about', {templateUrl: 'views/about.html'});
$routeProvider.otherwise({redirectTo: '/'});
}]);
If I dont write $locationProvider.html5Mode(true);
the url shows:
localhost:(port)/MyApplication/index.html
If I write $locationProvider.html5Mode(true);
the url shows:
localhost:(port)
MyApplication
is removed of the url.
And I want the url shows:
localhost:(port)/MyApplication/
What I'm doing wrong? What's the problem?
UPDATE:
How should show my <a>
tags? Right now I have:
<a href="#/about">About</>
When I click on the link, the url shows:
localhost:(port)/MyApplication/index.html#/about
I'm lost with this.
Thanks in advance!
回答1:
If your application runs under /MyApplication/
try to set the base path in your index.html and switch on html5Mode
:
<html>
<head>
<base href="/MyApplication/index.html" />
...
See Using $location.
来源:https://stackoverflow.com/questions/19617293/issue-with-html5mode-in-angularjs