Try unplugging and plugging back in the electronic plug at the rear differential. Its the only wires going to the rear diff. All signals going into and out of the rear diff go through one single plug and if it gets loose or dirty, the sensors will not work and will refuse to use the rear wheels.
Happened to me after some snow and the salt on the road somehow made it into the plug leading to a short and the same service light. After unplugging it and blowing the salt off, I plugged it back in back in and havn't had the same problem again.
If you slammed a door hard then the vibrations may have knocked it loose.
Free and worth a shot. Make sure the car is off and as always, if you have to raise the vehicle, use safe practices such as chocking wheels and using jack stands.