2011-06-05 17 views
6

Quiero usar Gii en Yii. Mi protected/config/main.php para mi primera aplicación web tiene esta parte no comentada, como se indica en la documentación Yii para habilitar Gii (123.45.67.123 es mi dirección IP pública desde la computadora a la que intento acceder):Yii 1.1.7 - no se puede encontrar la página gii

'modules'=>array(
      // uncomment the following to enable the Gii tool 
      'gii'=>array(
        'class'=>'system.gii.GiiModule', 
        'password'=>'123456', 
        // If removed, Gii defaults to localhost only. Edit carefully to taste. 
        'ipFilters'=>array('123.45.67.123','127.0.0.1','::1'), 
      ), 
    ), 

también he permitido a la urlManager en mi/config/main.php protegida descomentando el siguiente:

// uncomment the following to enable URLs in path-format 
      'urlManager'=>array(
        'urlFormat'=>'path', 
        'rules'=>array(
          '<controller:\w+>/<id:\d+>'=>'<controller>/view', 
          '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>', 
          '<controller:\w+>/<action:\w+>'=>'<controller>/<action>', 
        ), 
      ), 

Cuando voy a mi sitio Yu, por ejemplo, www.example.org, la página básica Yii está bien cargado Cuando hago www.example.org/gii, obtengo un 404. Cuando voy a www.example.org/index.php?r=gii, obtengo un 404. ¿Por qué no se encuentra mi página de Gii? Estoy usando CentOS 5.6.

+0

¿tiene habilitado el archivo .htaccess y mod_rewrite? – ZaQ

+1

Sí, .htaccess y mod_rewrite están habilitados en el lado de Apache. – user785179

Respuesta

17

Probar:

http://www.example.org/index.php/gii

Parece que tiene las mismas reglas que yo para la url. Si http://www.example.org lo lleva a su página principal yii de aplicaciones, entonces el enlace de arriba debería funcionar.

que ibas a http://www.example.org/gii lo cual es incorrecto.

+0

Sí, eso funciona! ¡Ahora esto significa que también puedo mantener mi urlManager trabajando para URLs limpias! ¡Gracias! – user785179

+0

No hay problema, mi hombre. –

+1

gracias! También tenía las URL limpias y me preguntaba por qué diablos no funcionaba para mí, como se muestra en el tutorial utilizando index.php? R = gii ..: P – Vicer

0

¿Has probado con el urlManager desactuado? Sólo para ver si GII en sí está funcionando

+0

¡PERFECTO! ¡Ahora gii funciona sin el urlManager!Entonces, ¿cómo hago para que urlManager funcione Y gii funcione? – user785179

+0

Lo que pasa es que sé que el urlManager funciona (más o menos) porque las páginas de mi sitio se veían como "www.example.org/site/about". Ahora cuando desactivé urlManager, parecen index.php? R = site/page & view = about, ¡pero gii funciona! Es como si urlManager no supiera sobre la página gii. ¿¿¿Podría ser esto un error??? – user785179

+0

Consulte mi respuesta a continuación, usuario. –

3

Im usando urlManager así por GII

'urlManager'=>array(
    'urlFormat'=>'path', 
    'cacheID' => false, 
    //'caseSensitive' => true, 
    'showScriptName' => false, 
    'urlSuffix' => '/', 
    'rules'=>array(
      'gii'=>'gii', 
      'gii/<controller:\w+>'=>'gii/<controller>', 
      'gii/<controller:\w+>/<action:\w+>'=>'gii/<controller>/<action>', 
... 

y no entrar en conflicto con las rutas de otras páginas del sitio

+0

Lamentablemente, esto no tuvo ningún efecto. Todavía no puedo hacer que gii funcione con tu código cuando lo reemplacé con el tuyo. – user785179

1

Se puede publicar su bloque entero urlManager con código de @ briiC.lv incorporada? Se debe trabajar, es más o menos la misma que la mía:

'urlManager'=>array(
    'urlFormat'=>'path', 
    'rules'=>array(// remove gii for production: 
     'gii'=>'gii', 
     'gii/<controller:\w+>'=>'gii/<controller>', 
     'gii/<controller:\w+>/<action:\w+>'=>'gii/<controller>/<action>', 
     'site/index'=>'/', 
     '<controller:\w+>'=>'site/<controller>', 
     '<filter:(proj|dept)>/<id:\d+>'=>'site/', 
    ), 
    'showScriptName'=>false, 
), 

Si aún así no funciona, puede que también desee para publicar/enlace a su archivo main.config completa.

+0

Desafortunadamente stackoverflow no me permite copiar/pegar todo mi archivo main.php. Demasiados caracteres Todavía no funciona, incluso con el código briiC.Iv. – user785179

0

Si ha activado mod reescribir y que desee colocar el siguiente en el fichero .htaccess

php_value upload_max_filesize 1M 
DirectoryIndex index.php 

Options +FollowSymlinks 
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 

y añadir lo siguiente a la gama 'urlManager' en la configuración del archivo/main.php:

'showScriptName'=>false, 

eliminará el index.php de su URL y asegúrese de que sólo las URL visibles en forma de domain.com/controller/action

0

yo no era capaz de acceder a la ONU www.example.org/gii hasta que he añadido el siguiente en mi host virtual config

<Directory /path/to/web/root> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 
0

yo sólo he tenido el mismo problema con la URL y GII y descubrí que yo no había escrito la dirección IP correcta. Cuando cambié a la correcta de las estadísticas de la red y luego agregué la dirección IP a los ipFilters de GII.

Espero que ayude!

Cuestiones relacionadas