How to redirect non-admin/editors from specific pages?

Uh Oh. You are using absolutely useless method. Posts, categories(and everything in WP) can be freely accessed via different kind of url combinations,feeds,api and etc (so forget your code/htaccess method).

Instead, use php codes in your active theme’s functions.php:

if (is_category() )
{
    global $cat;
    if ($cat->term_id = 123) 
    {
        if (!current_user_can('install_plugins'))
        {

        }
    }

}

replace category id with desired one.