14

Non ho trovato un modo per rimuovere index.html dall'URL, perché in questo modo sembra davvero brutto.Come rimuovere index.html dall'URL sul sito Web basato su angularjs

mydomain.com/index.html#/myview1 
mydomain.com/index.html#/myview2 

C'è un modo per rimuovere quella parte, come quell'URL sarà così chiaro dove si trova l'utente.

mydomain.com/myview1 
mydomain.com/myview2 

Tnx in anticipo per il vostro tempo.

Edit: Ho appena trovato modo che possa funzionare come:

mydomain.com/#/myview1 
mydomain.com/#/myview2 

che è praticamente meglio allora con index.html.

Ma ancora se c'è un modo per una soluzione più breve fammi sapere.

+3

Come hai fatto a rimuovere 'index.html' dall'URL? – Alavaros

+0

Leggi la modifica Alavaros. – Pnct

+1

@Pnct come hai rimosso index.html come hai menzionato nella tua modifica? – anvarik

risposta

3

Forse questo approccio potrebbe aiutare:

Aggiungi $locationProvider.hashPrefix();, che rimuove index.html nel tuo URL, nella configurazione app.js. Non dimenticare di aggiungere la nuova dipendenza. Dopo che il tuo app.js potrebbe essere simile a questo:

angular.module('myApp', [ 
    'ngRoute' 
]). 
config(['$locationProvider', '$routeProvider', function($locationProvider, $routeProvider) { 
    $locationProvider.hashPrefix(); // Removes index.html in URL 

    $routeProvider.otherwise({redirectTo: '/someroute'}); 
}]); 

Nota che questo non rimuove l'hashtag. Puoi trovare il tuo nuovo percorso a: .../app/#/someroute

2

Dovrai lavorare sul lato server per configurarlo. html5mode ti mette a parte, ma non appena l'utente si aggiorna, il riferimento al file sarà errato. Desideri collegamenti permanenti che possono essere condivisi, presumibilmente. In pratica, assicurati che qualsiasi richiesta su url.com/myapp/{etc} (o altro) venga reindirizzata a index.html e che la tua app angolare risolva il routing.

Problemi correlati