Je vous recommande de lire le technical details of mod_rewrite. Là, vous obtenez un bon aperçu du traitement interne.
Pour votre exemple spécifique, une règle appropriée peut ressembler à ceci:
RewriteRule ^users/([a-z]+)$ users.php?user=$1
Maintenant, quand /users/bob
est demandé, mod_rewrite:
bande
- le préfixe contextuel par répertoire (
/
si le Le fichier .htaccess se trouve dans la racine du document) à partir du chemin demandé
- tester le reste (
users/bob
) contre les motifs jusqu'à ce que l'on corresponde à
- s'il y a des
RewriteCond
directives correspondantes qu'ils seraient testés trop
- remplacer l'URL actuelle avec la nouvelle (en remplaçant le
$
n
et %
n
avec les matchs correspondants) , si le modèle correspond et que les conditions sont évaluées à
- ajoutez le préfixe contextuel par répertoire, si l'URL remplacée n'est pas déjà un chemin d'URL absolu (commencez par avec
/
) ou une URL absolue (commençant par le schéma d'URL)
Il y a un flux infini de questions comme ceci ici et sur serverfault.com. Que diriez-vous de celui-ci, par exemple: http://stackoverflow.com/questions/1249368/mod-rewrite-beginner-questions – innaM