The 49ers signed former Rams safety Craig Dahl to a three-year contract.