2013-10-27 5 views
5

Ich versuche index.html der URL mit html5Mode(true) in AngularJS zu entfernen, dann ist dies der Code:Ausgabe mit html5Mode in AngularJS

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: '/'}); 
}]); 

Wenn ich schreibe nicht $locationProvider.html5Mode(true); die URL zeigt:

localhost: (Port) /MyApplication/index.html

Wenn ich $locationProvider.html5Mode(true); schreiben die uRL zeigt:

localhost: (port)

MyApplication wird der URL entfernt. Und ich möchte die URL zeigt:

localhost: (Port)/MyApplication/

Was ich falsch mache? Was ist das Problem?

UPDATE:

Wie soll meine <a> Tags zeigen? Im Moment habe ich:

<a href="#/about">About</> 

Wenn ich auf den Link klicken, wird die URL zeigt:

localhost: (Port) /MyApplication/index.html#/about

I Ich bin damit verloren.

Vielen Dank im Voraus!

+0

geben Sie bitte den Code an, in dem Sie die Routen definieren. (wo Sie $ routeProvider.when() anrufen) – bekite

+0

@bekite Ich habe den Beitrag aktualisiert, Entschuldigung für die Verzögerung. Schöne Grüße. – Alavaros

Antwort

13

Wenn Ihre Anwendung läuft unter /MyApplication/ versuchen, den Basispfad in Ihrer index.html zu setzen und einschalten html5Mode:

<html> 
    <head> 
    <base href="/MyApplication/index.html" /> 
    ... 

Using $location See.

+0

Danke, es hat wie Charme funktioniert. – fmquaglia

+0

Ich habe erwartet, dass alle hrefs wie 'dir/file.jpg' in '/MyApplication/index.html/dir/file.jpg' übersetzt werden, aber zu meinem Erstaunen macht der Browser '/MyApplication/dir/file.jpg' – user3338098

+0

Das W3C scheint dieses Verhalten nicht zu dokumentieren @ http://www.w3.org/TR/html5/document-metadata.html#the-base-element oder sogar @ http://www.w3.org/ TR/html5/infrastructure.html # resolve-a-url – user3338098

Verwandte Themen