Maison >développement back-end >tutoriel php >Comment puis-je réécrire des URL avec les paramètres GET à l'aide de .htaccess ?
Réécriture des variables GET avec .htaccess
De nombreuses applications Web utilisent une structure d'URL qui inclut du contenu dynamique, comme l'exemple fourni : index. php?page=contrôleur. Pour améliorer l'expérience utilisateur et maintenir une structure d'URL plus claire, il est souhaitable de réécrire ces URL pour qu'elles apparaissent dans un format plus convivial. Ceci peut être réalisé en utilisant les règles .htaccess.
Les règles .htaccess fournies réécrivent efficacement les URL de la forme http://localhost/index.php?page=controller en http://localhost/controller/. Cependant, l'exigence est de prendre également en charge les paramètres GET, ce qui entraîne des URL telles que http://localhost/controller/param/value/param/value.
Pour ce faire, la RewriteRule suivante peut être ajoutée au Fichier .htaccess :
RewriteRule ^(.*)$ index.php?params= [NC, QSA]
Cette règle capture l'intégralité de l'URL, y compris tous les paramètres, et attribue les données capturées à la variable params GET. Par conséquent, l'URL http://localhost/controller/param/value/param/value serait réécrite en index.php?params=param/value/param/value.
Dans le script PHP, les paramètres La variable GET peut être éclatée pour extraire des paramètres individuels et leurs valeurs. Par exemple :
<?php $params = explode("/", $_GET['params']); for($i = 0; $i < count($params); $i+=2) { echo $params[$i] ." has value: ". $params[$i+1] ."<br />"; } ?>
Avec cette modification, les règles .htaccess réécriront avec succès les URL avec les paramètres GET, permettant au script PHP d'accéder à ces paramètres pour un traitement ultérieur et la logique du contrôleur.
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!