Prison may not be the answer (I couldn't care less if it is or isn't) - prison is the deterrent. I can't imagine how many more people would take a chance if the deterrent was set at a lower level of punishment, but it would most certainly be higher. Meaning more drugs on the streets of the UK, more crime, more misery, more death.
Forget rehabilitation, the majority of people I know don't want them to get out at all, rehabilitated or not.