Yii - Regras de URL
Uma regra de URL é uma instância se yii\web\UrlRule. ourlManager componentes usa as regras de URL declaradas em seu rules propriedade quando o formato de URL bonita está habilitado.
Para analisar uma solicitação, o gerenciador de URL obtém as regras na ordem em que são declaradas e procura a primeira regra.
Step 1 - Modifique o urlManager componente no config/web.php Arquivo.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'about' => 'site/about',
]
],
Step 2 - Vá para o seu navegador em http://localhost:8080/about, você verá a página sobre.
Uma regra de URL pode ser associada a parâmetros de consulta neste padrão -
<ParamName: RegExp>, onde -
ParamName - O nome do parâmetro
RegExp - Uma expressão regular opcional usada para corresponder aos valores dos parâmetros
Suponha que declaramos as seguintes regras de URL -
[
'articles/<year:\d{4}>/<category>' => 'article/index',
'articles' => 'article/index',
'article/<id:\d+>' => 'article/view',
]
Quando as regras são usadas para parsing -
- /index.php/articles é analisado no artigo / índice
- /index.php/articles/2014/php é analisado no artigo / índice
- /index.php/article/100 é analisado no artigo / visualização
- /index.php/articles/php é analisado em artigos / php
Quando as regras são usadas para creating URLs -
Url :: to (['article / index']) cria /index.php/articles
Url :: to (['artigo / índice', 'ano' => 2014, 'categoria' => 'php']) cria /index.php/articles/2014/php
Url :: to (['article / view', 'id' => 100]) cria /index.php/article/100
Url :: to (['article / view', 'id' => 100, 'source' => 'ad']) cria /index.php/article/100?source=ad
Url :: to (['artigo / índice', 'categoria' => 'php']) cria /index.php/article/index?category=php
Para adicionar um sufixo ao URL, você deve configurar o yii\web\UrlManager::$suffix propriedade.
Step 3 - Modifique o urlComponent no config/web.php Arquivo.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'suffix' => '.html'
],
Step 4 - Digite o endereço http://localhost:8080/site/contact.htmlna barra de endereço do navegador da web e você verá o seguinte na tela. Observe ohtml sufixo.