我正在更新我的网站与铁路由器的流星应用程序,并需要改变我的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