Maison >développement back-end >tutoriel php >Comment puis-je utiliser .htaccess pour créer de jolies URL à partir des paramètres de requête ?

Comment puis-je utiliser .htaccess pour créer de jolies URL à partir des paramètres de requête ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-05 14:46:02681parcourir

How can I use .htaccess to create pretty URLs from query parameters?

Créer de jolies URL avec .htaccess

Question : Comment puis-je transformer une URL à partir de http://localhost /index.php?user=1&action=update vers http://localhost/user/1/update en utilisant .htaccess?

Réponse :

Pour réaliser cette transformation , vous pouvez utiliser les règles .htaccess suivantes :

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^user/([0-9]*)/([a-z]*)$ ./index.php?user=&action=

Explication :

  1. Groupes de réécriture : Les parenthèses dans la RewriteRule regroupez l'identifiant de l'utilisateur ([0-9]*) et l'action ([a-z]*).
  2. Correspondance de modèle : Le modèle ^user/([0-9]*)/ ([a-z]*)$ correspond aux URL telles que user/1/update.
  3. Chaîne de remplacement : Le ./index.php?user=$1&action=$2 spécifie que l'identifiant d'utilisateur extrait ($1) et l'action ($2) doivent être transmis comme paramètres de requête à index.php.

Pour accéder aux paramètres en PHP :

Pour accéder aux fichiers extraits paramètres dans votre code PHP, utilisez ce qui suit :

<code class="php"><?php
echo "user id:" . $_GET['user'];
echo "<br>action:" . $_GET['action'];
?></code>

Remarque :

  • Les modèles [0-9]* et [a-z]* spécifient que l'identifiant de l'utilisateur ne doit contenir que des chiffres et que l'action ne doit contenir que des caractères minuscules, respectivement.
  • Le regroupement et les expressions régulières permettent des transformations d'URL plus spécifiques et plus sécurisées par rapport à l'utilisation de (.*), qui accepte presque tout.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn