Yii - Règles d'URL
Une règle d'URL est une instance si yii\web\UrlRule. leurlManager composants utilise les règles d'URL déclarées dans son rules propriété lorsque le joli format d'URL est activé.
Pour analyser une requête, le gestionnaire d'URL obtient les règles dans l'ordre de leur déclaration et recherche la première règle.
Step 1 - Modifier le urlManager composant dans le config/web.php fichier.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'about' => 'site/about',
]
],
Step 2 - Accédez à votre navigateur Web à l'adresse http://localhost:8080/about, vous verrez la page à propos.
Une règle d'URL peut être associée à des paramètres de requête dans ce modèle -
<ParamName: RegExp>, où -
ParamName - Le nom du paramètre
RegExp - Une expression régulière facultative utilisée pour faire correspondre les valeurs des paramètres
Supposons que nous ayons déclaré les règles d'URL suivantes -
[
'articles/<year:\d{4}>/<category>' => 'article/index',
'articles' => 'article/index',
'article/<id:\d+>' => 'article/view',
]
Lorsque les règles sont utilisées pour parsing -
- /index.php/articles est analysé dans l'article / index
- /index.php/articles/2014/php est analysé dans l'article / index
- /index.php/article/100 est analysé dans l'article / la vue
- /index.php/articles/php est analysé en articles / php
Lorsque les règles sont utilisées pour creating URLs -
Url :: to (['article / index']) crée /index.php/articles
Url :: to (['article / index', 'year' => 2014, 'category' => 'php']) crée /index.php/articles/2014/php
Url :: to (['article / view', 'id' => 100]) crée /index.php/article/100
Url :: to (['article / view', 'id' => 100, 'source' => 'ad']) crée /index.php/article/100?source=ad
Url :: to (['article / index', 'category' => 'php']) crée /index.php/article/index?category=php
Pour ajouter un suffixe à l'URL, vous devez configurer le yii\web\UrlManager::$suffix propriété.
Step 3 - Modifier le urlComponent dans le config/web.php fichier.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'suffix' => '.html'
],
Step 4 - Tapez l'adresse http://localhost:8080/site/contact.htmldans la barre d'adresse du navigateur Web et vous verrez ce qui suit sur votre écran. Remarquez lehtml suffixe.