Although keeping throw rugs flat on carpet can be a little tricky, with a few simple ideas you're bound to find one that works for your home.
Apply carpet tape around the edges of the rug. Turn over the rug with the right side down. Cut tape to fit each edge of the rug; apply the tape to the edges of rug. Turn over the rug and lay it on the carpet. Double-sided tape could be used in place of the carpet tape.
Use a silicone glue. Turn the rug upside down. Place dots of silicone glue around the edges of the rug. If necessary, for a large rug place dots of the silicone in the middle of the rug as well.
Place edges of carpet under furniture to hold it. This works best on larger throw rugs. It could be placed under a coffee table or with the edges under the legs of a sofa or chair.
Cut a gripper pad or backing to fit the rug. Lay the gripper pad on top of the rug. Measure in 1/2 inch from the edge of the rug; mark on each side of the gripper pad. Remove the gripper pad; cut around each side on the marks you made. Lay the gripper pad on the floor where you want the throw rug. Lay the throw rug wrong side down on top of the gripper pad. Press firmly.