将多条路径发送到一条路由,不带重定向功能



我正在更新我的网站与铁路由器的流星应用程序,并需要改变我的url。旧方案将页面名称大写如下:

mysite.com/Contact

但是我把所有的都改成小写的

mysite.com/contact

这个联系人路由并不复杂,所以它是这样设置的:

this.route('contact');

,但我希望/Contact url被重定向。我知道我可以这样做:

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

但是它太混乱了。我更喜欢这样做:

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

,其中路由被简单地映射到多条路径。

有这样的功能吗?还是我的onBeforeAction是我能得到的最好的?

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

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

您的路径将是:

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

其中正斜杠后面的'i'是不区分大小写的正则表达式修饰符,允许您接受'contact'的任何变体(无论是contact, contact或contact)。

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

最新更新