Invia più percorsi a un percorso senza funzione di reindirizzamento
-
21-12-2019 - |
Domanda
Sto aggiornando il mio sito Web a un'applicazione Meteor con il router di ferro e è necessario modificare i miei URL.Il vecchio schema aveva nomi di pagine capitalizzati come questo:
mysite.com/Contact
.
Ma ho cambiato tutto per essere in minuscolo:
mysite.com/contact
.
che il percorso di contatto non è complicato, quindi è impostato come questo:
this.route('contact');
.
Ma voglio che l'URL generacodictagcode sia reindirizzato.So che potrei semplicemente farlo:
this.route('Contact', {
onBeforeAction: function() {
Router.go('contact');
}
});
.
Ma è così tanto disordinato.Preferirei fare qualcosa del genere:
this.route('contact', {
path: ['/contact', '/Contact']
});
.
Dove il percorso è semplicemente mappato su più percorsi.
C'è una caratteristica come questa?O il mio /Contact
è il migliore che ho intenzione di ottenere?
Soluzione
https://github.com/Eventmind / Iron-Router / Blob / Devel / Docs.md # Dynamic-Path-Segments
È possibile utilizzare un'espressione regolare per il segmento del percorso (vedere l'ultimo esempio nel collegamento dei segmenti del percorso dinamico).
Il tuo percorso sarebbe:
this.route('contact', {
path: /contact/i
});
.
Dove il 'I' dopo la barra a fornaio è il normale modificatore di espressione per essere insensibile che consente di accettare qualsiasi variazione di "contatto" (sia contatto, contatto o contatto).
Vedi http://www.w3schools.com/jsref/jsref_regexp_i.asp Per i dettagli sul modificatore Regex.