Hola , el concepto es sencillo , no tienes 1 url para cada usuario , lo que tienes es un php que recibe un get , recoge ese get , busca en la base de datos si el nombre existe devuelve y si no existe mandaras un 404.
Ejemplo: midomimio.ya/usuario.php?usuario=pepediaz .
Recoges el get ,buscas pepediaz y devuelves.
Despues esta el tema de la reescritura de urls para que tu dirección quede:
midominio.ya/pepediaz
Básicamente eso lo puedes hacer con apache , diciendole que todas las peticiones que lleguen, las
pase a un archivo concreto, usuarios.php o a un index mismo, para ello debes tener un módulo activado de apache que se llama mod_rewrite .
En la raiz del proyecto o la carpeta que quieras pegas un .htaccess que mas o menos sería como este:
Código Apache:
Ver originalRewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ usuarios.php?url=$1 [QSA,NC,L]
Y Voilaaa cada vez que yo haga midominio.ya/joaquin será lo mismo que midominio.ya?usuario=joaquin.
Esto es un concepto para que tengas un punto de partida...
De todas formas existen fmk de php que manejan la arquitectura rest y dependiendo de la envergadura sería buena idea usarlos.
Un saludo , suerte!!!!