Le puissant système de routage de ThinkPhp vous permet de créer des URL propres et conviviales qui améliorent le classement des moteurs de recherche de votre site Web et l'expérience utilisateur. Au lieu de compter sur les URL par défaut, souvent encombrées générées par les conventions de cadre (par exemple, index.php?c=controller&a=action
), vous pouvez définir des voies personnalisées qui mappent vers des contrôleurs et des actions spécifiques. Ceci est réalisé principalement via le fichier de configuration route.php
et la classe Route
.
Le cœur de la création d'URL conviviaux se trouve dans la définition des itinéraires qui utilisent des mots clés significatifs et une structure hiérarchique claire. Par exemple, au lieu de /index.php?c=product&a=show&id=123
, vous pouvez avoir /products/123/my-amazing-product
. Cela se fait en définissant des itinéraires dans votre fichier route.php
. Vous utiliserez des expressions régulières pour définir les modèles correspondant aux URL entrants et les mapper aux actions du contrôleur. Un exemple simple peut ressembler à ceci:
<code class="php">// route.php return [ 'rules' => [ 'products/:id/:name' => ['module' => 'product', 'controller' => 'index', 'action' => 'show'], ], ];</code>
Cet itinéraire spécifie que toute URL correspondant au modèle /products/:id/:name
doit être dirigé vers l'action show
du contrôleur index
dans le module product
. /:id
et /:name
sont des paramètres de route, qui sont extraits dynamiquement de l'URL et transmis à l'action du contrôleur. Cela permet un contenu dynamique tout en maintenant une structure URL propre. N'oubliez pas de définir vos modules et contrôleurs en conséquence.
Pour tirer parti entièrement le routage de ThinkPhp pour le référencement, suivez ces meilleures pratiques:
Le système de routage de ThinkPhp excelle à gérer les segments d'URL dynamiques, crucial pour créer des URL conviviales pour les sites Web riches en contenu. Comme indiqué dans le premier exemple, l'utilisation /:id
et /:name
dans la définition de l'itinéraire vous permet de capturer des parties variables de l'URL. Ces segments sont ensuite transmis automatiquement sous forme de paramètres à la méthode d'action de votre contrôleur.
Par exemple, si un utilisateur accède /products/123/my-amazing-product
, le paramètre id
serait 123
et le paramètre name
serait my-amazing-product
dans votre action show
. Ce comportement dynamique permet de générer des URL uniques pour chaque produit sans créer des centaines de routes statiques.
Vous pouvez également utiliser des expressions régulières dans les définitions de votre itinéraire pour une correspondance de motifs plus sophistiquée. Cela vous permet d'appliquer des contraintes sur les valeurs de vos segments dynamiques, d'assurer l'intégrité des données et de prévenir un comportement inattendu. Par exemple, vous pouvez restreindre id
aux valeurs numériques uniquement.
Le système de routage de ThinkPhp est très flexible et vous permet de créer des URL personnalisées et optimisées pour des pages ou des contrôleurs spécifiques. Vous n'êtes pas limité au modèle standard /:id/:name
. Vous pouvez créer des itinéraires complexes adaptés à vos besoins spécifiques.
Par exemple, si vous avez une section de blog, vous voudrez peut-être des URL comme /blog/2024/03/my-blog-post-title
. Vous pouvez définir un itinéraire comme ceci:
<code class="php">'blog/:year/:month/:title' => ['module' => 'blog', 'controller' => 'post', 'action' => 'view'],</code>
Cela cartographierait les URL suivant ce modèle à votre article de blog en visionnant l'action. L' year
, month
et title
seraient passés sous forme de paramètres à votre contrôleur.
Vous pouvez même utiliser des contraintes d'itinéraire pour assurer le format correct de vos URL:
<code class="php">'blog/:year/:month/:title' => ['module' => 'blog', 'controller' => 'post', 'action' => 'view', 'regexp' => ['year' => '\d{4}', 'month' => '\d{2}', 'title' => '[a-zA-Z0-9-] ']],</code>
Cela ajoute des contraintes d'expression régulières pour s'assurer que l' year
est un numéro à quatre chiffres, le month
est un numéro à deux chiffres et que le title
ne contient que des caractères alphanumériques et des traits Ce niveau de personnalisation permet de créer des URL très conviviales et structurées qui reflètent le contenu et l'organisation de votre site Web.
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!