Have you tried white noise? I can't recommend this enough. Play this when you are putting them down for their nap, and have the track that suits him best on repeat. Leave it playing for the whole sleep. You will need to have it loud to start with. Loud enough to block out all other sounds and distractions.
Also, I used to go into DS's room just before he would wake from his cycle to 'catch' him before he became too awake. So as he started to stir, I'd turn the CD up, pat and shush, and try to get him into the next sleep cycle. After a week or so of doing this, he was pretty good at sleeping longer, especially for the first and second nap of the day. I got this idea from Elizabeth Pantley's Gentle Sleep Solution.
But for us, the white noise has always been a winner. We used Sounds for Silence CD, Track 1.