说我要做很多改写:
需要重定向到
依此类推,加上相同的蔬菜清单到/ veg / vegetable-name,cake to / cake / cake-name。
你会在每一行上进行重定向,还是将它们包装成一条长规则:
/(apples|bananas|cherries)
到
/fruit/$1
这两种方法都存在性能问题吗?
答案 0 :(得分:2)
我会使用单一规则,但前提是: 我对{苹果,香蕉,樱桃}的选择很有信心 2.我确信输入不会超过这个选项限制,或者如果超过这个限制就会有一个很好的异常处理机制(也就是说,如果用户发送/ papaya的请求,这不在列表中)< / p>
如果列表经常更新,或者列表很大,我宁愿使用重写映射。这也允许我使用地图的默认值来定义常见的异常处理。此外,一张地图可以满足所有水果,蔬菜,汽车等情况。
从性能角度来看,具有OR'd条件的单个规则将比具有一个条件的多个规则更优化。
重写映射不如重写规则优化,但在某些时候,我将开始优先考虑可读性和可维护性而不是性能。