Maison >développement back-end >tutoriel php >Comment puis-je réécrire des URL avec les paramètres GET à l'aide de .htaccess ?

Comment puis-je réécrire des URL avec les paramètres GET à l'aide de .htaccess ?

DDD
DDDoriginal
2024-11-16 13:35:02885parcourir

How Can I Rewrite URLs with GET Parameters Using .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!

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