Redireccionar con CodeIgniter
¿Puede alguien decirme por qué mi ayudante de redirección no funciona de la manera que esperaría? Estoy tratando de redirigir al método index de mi controlador principal, pero me lleva www.mysite.com/index/provider1/
cuando debería enrutar a www.mysite.com/provider1
. ¿Esto tiene sentido para alguien? Tengo la página de índice en configuración en blanco, aunque no creo que sea el problema. ¿Alguien tiene consejos sobre cómo solucionar este problema? Gracias de antemano!
Controlador:
if($provider == '') {
redirect('/index/provider1/', 'location');
}
.htaccess :
RewriteEngine on
RewriteCond %{REQUEST_URI} !^(index\.php|files|images|js|css|robots\.txt|favicon\.ico)
RewriteCond %{HTTP_HOST} ^mysite.com/ttnf/
RewriteRule (.*) http://www.mysite.com/ttnf/$1 [R=301,L]
RewriteBase /ttnf/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
php_flag display_errors On
5 answers
Redirect()
URL Helper
La instrucción redirect en code igniter envía al usuario a la página web especificada mediante una instrucción de encabezado redirect.
Esta instrucción reside en el helper de URL que se carga de la siguiente manera:
$this->load->helper('url');
La función redirect carga un URI local especificado en el primer parámetro de la llamada a la función y construido usando las opciones especificadas en su archivo de configuración.
El segundo parámetro permite al desarrollador utilizar diferentes comandos HTTP para realizar la redirección "ubicación" o "refrescar".
Según la documentación de Code Igniter: "La ubicación es más rápida, pero en servidores Windows a veces puede ser un problema."
Ejemplo:
if ($user_logged_in === FALSE)
{
redirect('/account/login', 'refresh');
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-07 11:27:08
Si su estructura de directorios es así,
site
application
controller
folder_1
first_controller.php
second_controller.php
folder_2
first_controller.php
second_controller.php
Y cuando vaya a redirigirlo en el mismo controlador en el que está trabajando, simplemente escriba el siguiente código.
$this->load->helper('url');
if ($some_value === FALSE/TRUE) //You may give 0/1 as well,its up to your logic
{
redirect('same_controller/method', 'refresh');
}
Y si desea redirigir a otro control, utilice el siguiente código.
$this->load->helper('url');
if ($some_value === FALSE/TRUE) //You may give 0/1 as well,its up to your logic
{
redirect('folder_name/any_controller_name/method', 'refresh');
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-20 09:50:14
Si desea redirigir la ubicación anterior o la última solicitud, debe incluir user_agent
biblioteca:
$this->load->library('user_agent');
Y luego utilizar por fin en una función que está utilizando:
redirect($this->agent->referrer());
Está funcionando para mí.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-28 08:12:44
Primero, debe cargar URL helper como este tipo o puede cargar dentro de autoload.archivo php:
$this->load->helper('url');
if (!$user_logged_in)
{
redirect('/account/login', 'refresh');
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-21 01:13:45
Aquí está .archivo htacess que oculta el archivo de índice
#RewriteEngine on
#RewriteCond $1 !^(index\.php|images|robots\.txt)
#RewriteRule ^(.*)$ /index.php/$1 [L]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Removes index.php from ExpressionEngine URLs
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{REQUEST_URI} !/system/.* [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
# Directs all EE web requests through the site index file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-28 08:22:53