2009-07-27 13 views
7

Ho appena imparando quadro Yii e leggere questo tutorial circa yii how to setup urlcome impostare url amichevole in quadro Yii automaticamente

ma non ho idea, supponiamo di avere 10 controller, dovrei definire uno ad uno i controller nella configurazione file ? c'è un modo migliore per configurare url amichevole come www.yoursite.com/yourController/yourAction/yourID per tutti i controller?

Penso che il programmatore di codice l'abbia fatto automaticamente ... che ne dici di yii?

risposta

19

In /protected/config/main.php aggiungere ..

'urlManager'=>array(
     'urlFormat'=>'path', 
     'showScriptName' => false,  
     ), 
    ), 

Nel vostro Web principale di un .htaccess ..

Options +FollowSymLinks 
IndexIgnore */* 
RewriteEngine on 

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php 
+1

Vorrei poter dare +10 voti per questa risposta, come trovare mi avrebbe risparmiato un'ora di ricerche e che lottano per farlo funzionare propriamente. –

+0

Ho seguito come risposta. ma penso di non avere fortuna. Annullo l'urlManager quando creo un'app con yii in [root app] /protected/config/main.php. E aggiungo il tuo .htaccess nel mio [app root] /. Htaccess. ma ho avuto l'errore 404. pls aiutami a risolvere. –

+0

@tharsoe Stavo ricevendo l'errore 404 e il mio file .htaccess non era in root ma all'interno della cartella protetta. L'ho spostato fino alla radice. (stessa posizione di index.php) e ha iniziato a funzionare correttamente. – albertski

1

Ci sono anche la generazione automatica di URL in Yii. Per esempio basta scrivere nel vostro modello di tale URL senza percorso manuale:

<?php echo CHtml::link('topic title',array('topic/view','id'=>$topic->id,'var'=>'123')); ?> 

E URL reso sarà come segue:

/topic/view/id/1/var/123 

Poi, nel nostro metodo di azione ActionView() Usiamo i seguenti parametri:

... 
$id=$_GET['id']; 
$var=$_GET['var']; 
... 
Problemi correlati