Aaaaack!
RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-m-([0-9]+).html$ index.php?manufacturers_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pi-([0-9]+).html$ popup_image.php?pID=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pr-([0-9]+).html$ product_reviews.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pri-([0-9]+).html$ product_reviews_info.php?products_id=$2&%{QUERY_STRING}
It may "work", but it's also making your server do a horrendous lot of extra work.
You don't need &%{QUERY_STRING}. The standard flag [QSA] does the same thing.
Leave a blank line after each Rule so you can instantly see where you are.
Put an [L] flag at the end of each Rule unless you have a clear and specific reason not to. Here, each one is mutually exclusive, so [L] is appropriate.
And, finally, all literal periods . in the pattern need to be \. escaped.
The list of Error Documents should go at the very top, along with other "vanilla" directives like Options -Indexes.
Now, to take one at random:
^(.*)-p-(.*).html$ product_info.php?products_id=$2
Since you will not be using the part before -p-, and the code does not care what (if anything) is there, don't waste the server's time. Otherwise it goes
gobblegobblemunch to the very end--
oops! I was supposed to capture a -p-
backtrack, backtrack, until we can stop before the -p-
gobblegobblemunch to the very end--
oops! I need to leave room for .html
backtrack, backtrack...
And all of this happens on every single request, including the ones that were already matched in some preceding rule.
You want something more like
RewriteRule -p-([^.]+)\.html$ product_info.php?products_id=$1 [L,QSA]
excluding any horrible typos that g1smd will catch, so don't start cutting and pasting yet.
This is assuming you want Rewrites, rather than Redirects (using [R=301]). You probably do, but there may need to be a matching set of Redirects.
* * *
Yes, I realize this has nothing to do with your question. It was the ^(.*) that set me off.