2009-07-27 7 views
7

acabo de aprendizaje marco yü y leer este tutorial sobre yii how to setup urlcómo configurar URL amigable con marco yü automáticamente

pero no tengo ni idea, supongamos que tengo 10 controladores, debería definir uno por uno los controladores en la configuración archivo ? ¿hay alguna manera mejor de configurar el url friendly como www.yoursite.com/yourController/yourAction/yourID para todos los controladores?

Creo que codeignador hizo eso automáticamente ... ¿qué hay de yii?

Respuesta

19

En /protected/config/main.php añadir ..

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

En su web raíz de 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

Me gustaría poder darle +10 votos para esta respuesta, como la búsqueda de que me habría ahorrado una hora de búsqueda y luchando para conseguir que funcione correctamente. –

+0

Seguí como tu respuesta. pero creo que no tuve suerte Descomenta el urlManager cuando genero una aplicación con yii en [app root] /protected/config/main.php. Y añado tu .htaccess a mi [app root] /. Htaccess. pero obtuve el error 404. pls me ayuda a resolver. –

+0

@tharsoe Recibí el error 404 y mi archivo .htaccess no estaba en la raíz pero dentro de la carpeta protegida. Lo moví a la raíz. (la misma ubicación que index.php) y comenzó a funcionar correctamente. – albertski

1

También hay generación automática de URL en Yii. Por ejemplo acaba de escribir en su plantilla como URL sin manual de ruta:

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

Y URL prestado será como sigue:

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

Luego, en nuestro método de acción ActionView() que utilizan estos parámetros:

... 
$id=$_GET['id']; 
$var=$_GET['var']; 
... 
Cuestiones relacionadas