Je sais que vous pouvez ajouter des règles dans htaccess, mais j'ai trouvé que les frameworks PHP ne le font pas et que d'une manière ou d'une autre, vous avez toujours de belles URL. Comment les serveurs peuvent-ils faire cela s'ils ne connaissent pas les règles d'URL ?
Je cherchais la classe de gestionnaire d'URL de Yii, mais je ne comprends pas comment c'est fait.
Cela se fait généralement en acheminant toutes les requêtes vers un seul point d'entrée (un fichier qui exécute un code différent en fonction de la requête), avec les règles suivantes :
Le fichier compare ensuite la requête (
$_SERVER["REQUEST_URI"]
) à une liste de routes - des modèles qui correspondent à la requête, mappant les chemins d'exécution aux actions du contrôleur (dans une application MVC) ou à d'autres actions. Les frameworks incluent souvent une route qui peut déduire des contrôleurs et des actions à partir de la requête elle-même, en tant que route de secours.Un exemple simple :
Combiné avec la première configuration, il s'agit d'un script simple qui vous permet d'utiliser des URL comme
domain.com/about
. J'espère que cela vous aide à comprendre ce qui se passe ici.