2012-02-29 18 views
12

Estoy trabajando en un sitio con algunos controladores, y he configurado mi servidor para redirigir las solicitudes de http://www.host.com/controller/function/params a http://www.host.com/index.php/controller/function/params usando una simple coincidencia de expresiones regulares en la configuración de apache. Ahora, estoy intentando que uno de mis controladores redireccione a otro, pero sin agregar el index.php a la URL, que es lo que hace la función redirect(). ¿Hay una manera fácil de hacer esto en codeigniter? ¡Gracias de antemano!Codeigniter Redirección de URL SIN agregar index.php

Respuesta

62

Puede usar redirect. Solo agrega index.php si está configurado como su página de índice.

Por lo tanto, verifique su configuración index_page. Debe ser una cadena vacía:

$config['index_page'] = ''; 

del archivo: app/config/config.php

Más información: http://www.codeigniter.com/user_guide/general/urls.html?highlight=mod_rewrite [Versión actualizada]

+0

Tan simple como eso, gracias :) – SuperTron

+0

Por cierto, ¿ese parámetro de configuración afecta a algo más en codeigniter o es estrictamente para la redirección? – SuperTron

+0

Si afecta varias funciones relacionadas con URL, como 'site_url()', por ejemplo (que btw es usado por 'redirect') –

0

que necesita añadir otro .htaccess en la carpeta raíz de su proyecto basado codeignitor y escribir hay algunas reglas de redireccionamiento como abajo ejemplo:

RewriteEngine On 
RewriteBase /codeignitortest/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) index.php?$1 [QSA,L] 

o pueden hacer a continuación en application/config/config.php

$ config ['index_page'] = 'index.php'; a $ config ['index_page'] = '';

1

He usado $ config ['index_page'] = ''; funcionó.

Cuestiones relacionadas