This should flatten the areas out.
How to get an area rug to lay flat on carpet.
If your area rug is for a sitting area make sure the edges of the rug go under the sofa or chairs to help keep it from moving.
If possible help hold the area rug in place by setting heavy furniture on top of it.
Cut tape to fit each edge of the rug.
With the towel still covering the carpeted area hold down the iron and press.
Many times this will allow the rug to lay smooth for a while.
Apply carpet tape around the edges of the rug.
Double sided tape could be used in place of the carpet tape.
I flipped the rug back over pressed it over the carpet and it seriously worked like magic.
Turn over the rug and lay it on the carpet.
If the ends still curl up move to the next steps.
Apply the tape to the edges of rug.
Lay a damp towel over the edges and iron them flat.
Turn over the rug with the right side down.