The 23-year-old has not made a first-team appearance but has played for Cowdenbeath and Forfar on loan.
Gallacher told the club's official website: "It's really good to sign another contract. This is a great club to be at and I grew up supporting Rangers so I'm delighted to be staying on once again.
"I've been here for seven years now and I'm still waiting for my chance but hopefully it can come soon.
"We're not far from winning the league so hopefully we can do that and then I can get to play in one of the remaining games after that.
"It's down to the gaffer and (goalkeeping coach) Jim Stewart to decide whether that happens or not but I would love an opportunity to show what I can do."
Rangers manager Ally McCoist is hoping to sign Kilmarnock goalkeeper Cammy Bell on a pre-contract agreement and also trying to extend Neil Alexander's contract, stating he would send Gallacher on loan if both deals come off.
Gallacher added: "I'm glad the management have the trust in me to offer me an extended stay and I'm looking to repay them for that.
"There has been a bit of speculation about goalkeepers lately and Rangers are a massive club so you're always going to have that.
"That's something you get used to and accept. You take it as it comes but all I can do is do my best and hope things work in my favour."