This depends on how complicated you plan on making your game. Generally for online games, the state is stored on the server, and the clients are just viewers with varying levels of smartness.
Assuming you have somethink like a 'find game' button, the users would send a request to the server and the server would redirect to the 'room' URL for a game that needs more people, or a new room would be created so other people could join this user.
Once people start joining the room, they would need to basically wait for the room owner to start the same. There are a bunch of ways to do this. In your case, the simplest is to have each client keep sending requests to the server to see if the game has started or not, and if so, redirect to the new URL. The clients could also use websockets or long polling to accomplish this if you wanted potentially better reaction times.
So basically, you aren't "redirecting two users at the same time", you are changing the state of the game from "waiting for people" to "started" or something like that, and then when each user seems that the game is started, then server would redirect them.
Basically, I'd think of the game as two people talking to a server separately. The fact that they are playing the same game is reflected in the state of the game, but they aren't usually communicating directly with each other.