No, you will need both iRules, one applied to each virtual server. The iRules should not interfere with each other, as they are applied to different virtuals and only one of the iRules will be triggered for any given connection. (Keeping in mind that a new connection to 2nd virtual will be established after redirection from first.) In general, you can't specify in one iRule the action that should be taken by another iRule for a different connection on a different virtual server.
Did you follow Joe's advice about adding some logging to the first iRule? The resulting log entries should be helpful. Post back with your iRules and the logged results if it still isn't making sense.
HTH
/deb