Pregunta

Estoy actualizando mi sitio web a una aplicación Meteor con iron-router y necesito cambiar mis URL.El antiguo esquema tenía nombres de páginas en mayúscula como este:

mysite.com/Contact

pero he cambiado todo para que esté en minúsculas:

mysite.com/contact

Esa ruta de contacto no es complicada, por lo que se configura así:

this.route('contact');

pero quiero el /Contact URL a ser redirigido.Sé que podría hacer esto:

this.route('Contact', {
    onBeforeAction: function() {
        Router.go('contact');
    }
});

pero es mucho más complicado.Preferiría hacer algo como esto:

this.route('contact', {
    path: ['/contact', '/Contact']
});

donde la ruta simplemente se asigna a múltiples caminos.

¿Existe una característica como esta?¿O es mi onBeforeAction ¿Lo mejor que voy a conseguir?

¿Fue útil?

Solución

https://github.com/EventedMind/iron-router/blob/devel/DOCS.md#dynamic-path-segments

Puede utilizar una expresión regular para su segmento de ruta (consulte el último ejemplo en el enlace Segmentos de ruta dinámica).

Tu camino sería:

this.route('contact', {
    path: /contact/i
});

Donde la 'i' después de la barra diagonal es el modificador de expresión regular que no distingue entre mayúsculas y minúsculas, lo que le permite aceptar cualquier variación de 'contacto' (ya sea contacto, contacto o contacto).

Ver http://www.w3schools.com/jsref/jsref_regexp_i.asp para obtener detalles sobre el modificador RegEx.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top