You should try it, then you will know why it doesn't work. For ex, array('post/view', 'type'=>'page', 'key'=>'xyz') will produce url /page/xyz.html . That's not what I want. The problem here is that we cannot use the same route for 2 diferrent rules.

Before digging into the regex, let me ask one question: Why don't you use a separate action to serve your static pages? They are two different things that should also be separated in your controller. That would safe you a lot of hassle.