We have several area rugs that lay over our carpet in high traffic areas. We became irritated with the fact that they had to be re-arranged constantly due to the creeping issue.
Solution: We purchased a non skid, double faced adhesive, sheet product from Home Depot, carpet department that is designed for the purpose. It is a very thin mat fabric that has a light coating of adhesive on both faces similar to double faced tape. The adhesive does not seem to leave any residue and it works with rubber backed area rugs as well as high quality fabric backed oriental rugs. The higher quality rugs seem to work best as they have more density and firmness of body. The adhesive sheets are costly but it is the only satisfactoty solution that we have found to solve the creeping rugs problem.
Installation is simple: 1. Cut to size. 2. Peel off protective cover on one face to expose adhesive. 3. Apply evenly to back of the area rug with light presure. 4.Peel off second protective cover. 5. Carefully place rug in desired location. A helper is very usefull during this step as you should not relocate the rug once it is laid out. 6. Apply presure evenly to "set" the adhesive.
You may vacuum the rugs while they are in place. I use the "No-brush" option on my small Eureka Optima vacuum.
We remove the adhesive sheets to wash rugs then, re-apply when completely dry. While the rugs are being washed, I clean the carpets and allow to completely dry before re-setting the area rugs. After several removals and re-sets, the sheets will get "loaded" with tiny particles of debris and their adhesive qualities are deminished. When this happens I extent their life by spraying both sides of the sheet evenly with a light coat of 3M photo mounting adhesive. This seems to work for several more re-sets.