Yii - Reglas de URL
Una regla de URL es una instancia si yii\web\UrlRule. losurlManager componentes utiliza las reglas de URL declaradas en su rules propiedad cuando el formato de URL bonito está habilitado.
Para analizar una solicitud, el administrador de URL obtiene las reglas en el orden en que se declaran y busca la primera regla.
Step 1 - Modificar el urlManager componente en el config/web.php archivo.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'about' => 'site/about',
]
],
Step 2 - Vaya a su navegador web en http://localhost:8080/about, verá la página acerca de.
Una regla de URL se puede asociar con parámetros de consulta en este patrón:
<ParamName: RegExp>, donde -
ParamName - El nombre del parámetro
RegExp - Una expresión regular opcional utilizada para hacer coincidir los valores de los parámetros.
Supongamos que hemos declarado las siguientes reglas de URL:
[
'articles/<year:\d{4}>/<category>' => 'article/index',
'articles' => 'article/index',
'article/<id:\d+>' => 'article/view',
]
Cuando las reglas se utilizan para parsing -
- /index.php/articles se analiza en el artículo / índice
- /index.php/articles/2014/php se analiza en el artículo / índice
- /index.php/article/100 se analiza en el artículo / vista
- /index.php/articles/php se analiza en artículos / php
Cuando las reglas se utilizan para creating URLs -
Url :: to (['artículo / índice']) crea /index.php/articles
Url :: to (['artículo / índice', 'año' => 2014, 'categoría' => 'php']) crea /index.php/articles/2014/php
Url :: to (['article / view', 'id' => 100]) crea /index.php/article/100
Url :: to (['artículo / vista', 'id' => 100, 'fuente' => 'anuncio']) crea /index.php/article/100?source=ad
Url :: to (['artículo / índice', 'categoría' => 'php']) crea /index.php/article/index?category=php
Para agregar un sufijo a la URL, debe configurar el yii\web\UrlManager::$suffix propiedad.
Step 3 - Modificar el urlComponent en el config/web.php archivo.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'suffix' => '.html'
],
Step 4 - Escriba la dirección http://localhost:8080/site/contact.htmlen la barra de direcciones del navegador web y verá lo siguiente en su pantalla. Observe lahtml sufijo.