将多个路径发送到一个路由而不使用重定向功能

时间:2014-07-29 16:34:08

标签: meteor iron-router

我正在使用铁路由器将我的网站更新为Meteor应用程序,并且需要更改我的网址。旧方案像这样大写了页面名称:

mysite.com/Contact

但我已将所有内容都改为小写:

mysite.com/contact

该联系路线并不复杂,所以设置如下:

this.route('contact');

但我希望重定向/Contact网址。我知道我可以这样做:

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

但它太乱了。我宁愿做这样的事情:

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

其中路由只是映射到多个路径。

有这样的功能吗?或者我的onBeforeAction是我最好的?

1 个答案:

答案 0 :(得分:1)

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

您可以为路径段使用正则表达式(请参阅动态路径段链接中的最后一个示例)。

你的道路是:

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

' i'在正斜杠之后,正则表达式修饰符不区分大小写,允许您接受“联系”的任何变体。 (无论是cOntact,联系还是conTACT)。

有关RegEx修饰符的详细信息,请参阅http://www.w3schools.com/jsref/jsref_regexp_i.asp