Yii - Regole di URL
Una regola URL è un'istanza se yii\web\UrlRule. IlurlManager componenti utilizza le regole URL dichiarate nel suo file rules proprietà quando è abilitato il formato URL carino.
Per analizzare una richiesta, il gestore URL ottiene le regole nell'ordine in cui sono state dichiarate e cerca la prima regola.
Step 1 - Modifica il file urlManager componente in config/web.php file.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'about' => 'site/about',
]
],
Step 2 - Vai al tuo browser web all'indirizzo http://localhost:8080/about, vedrai la pagina delle informazioni.
Una regola URL può essere associata ai parametri di query in questo modello:
<ParamName: RegExp>, dove -
ParamName - Il nome del parametro
RegExp - Un'espressione regolare facoltativa utilizzata per abbinare i valori dei parametri
Supponiamo di aver dichiarato le seguenti regole URL:
[
'articles/<year:\d{4}>/<category>' => 'article/index',
'articles' => 'article/index',
'article/<id:\d+>' => 'article/view',
]
Quando le regole vengono utilizzate per parsing -
- /index.php/articles viene analizzato nell'articolo / index
- /index.php/articles/2014/php viene analizzato nell'articolo / index
- /index.php/article/100 viene analizzato nell'articolo / vista
- /index.php/articles/php viene analizzato in articoli / php
Quando le regole vengono utilizzate per creating URLs -
Url :: to (['article / index']) crea /index.php/articles
Url :: to (['article / index', 'year' => 2014, 'category' => 'php']) crea /index.php/articles/2014/php
Url :: to (['article / view', 'id' => 100]) crea /index.php/article/100
Url :: to (['article / view', 'id' => 100, 'source' => 'ad']) crea /index.php/article/100?source=ad
Url :: to (['article / index', 'category' => 'php']) crea /index.php/article/index?category=php
Per aggiungere un suffisso all'URL, è necessario configurare il yii\web\UrlManager::$suffix proprietà.
Step 3 - Modifica il file urlComponent nel config/web.php file.
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'suffix' => '.html'
],
Step 4 - Digita l'indirizzo http://localhost:8080/site/contact.htmlnella barra degli indirizzi del browser web e vedrai quanto segue sullo schermo. Notare ilhtml suffisso.