Ah perfeito. É bem por essa linha que a Gabriela falou mesmo. Teremos 2 sites implementados de forma diferentes, totalmente independentes.
Aí temos duas possibilidades: colocar o site principal em www.site.com e subir o outro num subdominio - em geral pessoal usa m.site.com mas pode ser qualquer um.
Ou fazer tudo no www.site.com e fazer seu servidor resolver qual versão deve mandar com base no navegador do usuário.
Pra você entender na pratica: se você abrir o UOL no celular ou no Desktop sempre vai ver www.uol.com.br mas são 2 sites completamente diferentes. Quem resolveu isso foi o servidor deles, enviando o HTML de acordo com o tipo de usuário.
Já se voce abrir o Facebook no computador vai usar www.facebook.com mas se abrir no celular (no navegador) vai usar o m.facebook.com. Ambos sites diferentes mas em subdominios diferentes.
Nesse caso de subdominios diferentes, o que o servidor faz tambem é redirecionar o usuario automaticamente. Entao se eu digito www.facebook.com no celular ele percebe que estou no celular e me redireciona automticamente pra m.facebook.com.
Em ambas as tecnicas vc precisa de um jeito de detectar se o navegador é mobile ou desktop (seja pra redirecionar, seja pra enviar o HTML correto). E é ai que mora o perigo. É bem dificil fazer isso com 100% de certeza, por isso o apelo do design responsivo. Mas dá pra chutar com certa certeza.
O mais comum é você, no servidor, olhar pro cabeçalho HTTP User-Agent e identificar o tipo de browser lá (em geral os browsers moveis tem a palavra Mobile
no user-agent ou o nome do sistema - Android
, iOS
etc).
Esse site aqui possui uma regex bem grande num if gigante pra detectar de forma simples: http://detectmobilebrowsers.com/
(tem versões pra todo tipo de linguagem de servidor)