Introduction au routage d'URL ThinkPHP
Pour faire simple, le routage d'URL vous permet de personnaliser l'URL dont vous avez besoin selon certaines règles pour réaliser l'embellissement l'URL, améliorent l'expérience utilisateur et profitent également de l'objectif d'inclusion dans les moteurs de recherche.
Exemple
L'URL d'origine est :
http://www.5idev.com/index.php/Products/Show/category/ 5/id/123
L'intention initiale de cette URL est d'afficher le produit avec l'identifiant 123 dans la 5ème catégorie. Après réécriture du routage de l'URL, l'URL peut être :
http://www.5idev.com/index.php/product/5/123
Si Réécriture du fichier .htaccess est utilisé Si la règle masque le fichier d'entrée, l'URL ci-dessus peut être encore simplifiée en :
http://www.5idev.com/product/5/123
Ceci L'adresse URL est relativement simple et facile à gérer.
Astuce : L'utilisation des règles de réécriture d'URL d'Apache peut également réaliser la fonction de personnalisation d'URL, qui ne sera pas abordée ici. Si vous êtes intéressé, veuillez vous référer aux articles liés à Apache Rewrite.
Configuration du routage URL ThinkPHP
Pour utiliser la fonction de routage URL dans ThinkPHP, vous devez effectuer la configuration suivante :
Activer la fonction de routage dans le fichier de configuration du projet Conf/ config.php (Défini sur true) :
'URL_ROUTER_ON' => true,
La définition de la règle de routage
est différente de la version 2.x, 3.0 Les règles de routage sont définies dans le fichier de configuration du projet config.php au format tableau. Les règles de définition spécifiques sont divisées en routage de règles et routage régulier. La syntaxe de routage des règles est la suivante :
Format 1 : 'Routing Rule'=>'[Group/Module/Operation]?Extra Parameter 1=Value 1&Extra Parameter 2=Value 2...'
Format 2 : 'Règles de routage' =>array('[Groupe/Module/Opération]','Paramètre supplémentaire 1=Valeur 1&Paramètre supplémentaire 2=Valeur 2...')
Format 3 : 'Règle de routage' = >'Adresse externe'
Format 4 : 'Règle de routage' =>array('Adresse externe','Code de redirection')
Description de la syntaxe
Les règles de routage sont les règles que nous souhaitons afficher dans l'URL. La valeur de l'élément suivant est l'adresse et les paramètres réels de l'URL. Si la règle de routage commence par :, cela signifie une variable dynamique, sinon c'est le cas. un format d'adresse statique 2 Des paramètres supplémentaires peuvent être transmis sous forme de tableaux ou de chaînes. Les règles de routage prennent en charge la définition de contraintes numériques des variables, par exemple : 'product/:idd'=>'Products/Show'. Les règles de routage prennent en charge l'exclusion des variables non numériques. , tels que 'news/:cate^ add|edit|delete'=>'News/category', la règle de routage prend en charge la définition de correspondance complète, par exemple : 'product/:idd$'=>'Products/Show'. La partie adresse de la règle de routage n'est pas sensible à la casse. Si vous souhaitez référencer des variables dynamiques dans l'adresse, utilisez :1, :2. La règle de routage peut prendre en charge les définitions dynamiques et statiques complètes, par exemple ':user/blog. /:id'=>'Home/Blog/user'
Ces règles et descriptions de syntaxe sont relativement obscures. Vous trouverez des exemples ci-dessous pour vous aider à comprendre les règles de routage et les descriptions de syntaxe ci-dessus.
Si la fonction d'activation de l'itinéraire est définie dans le fichier de configuration, lorsque le système effectuera l'analyse Dispatch, il déterminera si l'URL actuelle a un nom d'itinéraire défini. Si tel est le cas, il effectuera l'analyse de l'URL en fonction de l'URL définie. règles de routage.
Exemple de routage d'URL ThinkPHP
Prenez l'exemple au début de cet article comme exemple pour voir comment la route est définie. Définissez les règles suivantes dans le fichier de configuration du projet Conf/config.php :
//Route definition
'URL_ROUTE_RULES'=> ; 'Products/Show', //Routage des règles
),
Pour plus d'articles techniques liés à ThinkPHP, veuillez visiter la colonne Tutoriel d'utilisation de ThinkPHP pour apprendre !
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!