per il mio attuale (avanzato) progetto basato su yii2 ho solo bisogno di un controller (SiteController). Quindi non c'è bisogno di mostrarlo nell'URL. Ecco perché ho aggiunto questa regola alla configurazione frontend:
'urlManager' => [
'rules' => array(
'<alias:product|contact|about>' => 'site/<alias>',
),
Questo sta funzionando benissimo e localhost/prodotto punti a localhost/sito/prodotto.
Naturalmente, ho attivato prettyUrl e aggiunte questo regole predefinite per la configurazione comuni:
'rules' => array(
'<controller:\w+>/<id:\w+>' => '<controller>',
'<controller:\w+>/<action:\w+>/<id:\w+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
Ora voglio accedere ad un parametro di GET come questo: localhost/prodotto/ProductName. Ma ottengo l'errore:
Unable to resolve the request "product"
ma localhost/sito/prodotto/productname funziona correttamente ... Il "productname" dovrebbe essere $ _GET [ 'id']. Cosa devo cambiare per farlo accadere?
Grazie!
Ecco cosa è w +? –
@YasarArafath ** '\ w' corrisponde a qualsiasi carattere di parola (uguale a [a-zA-Z0-9 _]) ** –