Skip to content

Instantly share code, notes, and snippets.

@yesidays
Created March 17, 2012 19:42
Show Gist options
  • Save yesidays/2064699 to your computer and use it in GitHub Desktop.
Save yesidays/2064699 to your computer and use it in GitHub Desktop.
htaccess para eliminar index.php en Codeigniter
RewriteEngine on
RewriteCond $1 !^(index\.php|images|php|script|styles|js|css)
RewriteRule ^(.*)$ /index.php/$1 [L]
Copy link

ghost commented Oct 3, 2013

A mi no me servio, no se si sera porque tengo VirtualHost, me podrían ayudar?

@EEpsilon
Copy link

A mi tampoco me sirvió, tengo todo instalado, revisé mod_rewrite con un phpinfo y está instalado igual.

@roosembert
Copy link

Una pregunta, si tengo lo siguiente:
localhost/nombreproyecto/Controlador/Funcion?parametro=1&parametro=2&parametro=3
Como configuraria el htaccess?

@calberto185
Copy link

calberto185 commented Feb 21, 2017

hola una pregunta!!!.
yo estoy trabajando con una plantilla la cual esta fuera system y aplicacion, y mi controlador de inicio es login, donde cargo la vista y tambien un metodo para validar los datos del login. mi pregunta es por que cuando me logeo no me redirecciona a la url con el controlador y el metodo que ya les mencione "velificar". estube probando con la simplificacion de index.php en el .htaccess la cual si funciona pero cuando lo pongo que no testringa la carpeta donde se aloja la plantilla se quita los estilos de la vista y para este caso si me procesa los datos cuando me logeo, pero como ya sabran esto me restringe la carpeta de la plantilla.
Nota: para el form del login estoy utilizando del helper de codeigniter. este es mi codigo vista login:

<?= form_open('main/identify') ?> <div class="input-group"> <span class="input-group-addon" id="basic-addon1"> <i class="fa fa-user" aria-hidden="true"></i></span> <?= form_input($user) ?> </div> <div class="input-group"> <span class="input-group-addon" id="basic-addon2"> <i class="fa fa-key" aria-hidden="true"></i></span> <?= form_password($pass) ?> </div> <div class="text-center"> <?= form_input($submit) ?> </div> <?= form_close() ?>

este el codigo del controlador:

public function index(){
$this->load->view('main');
}
public function identify(){
$user = $this->input->post('username');
$pass = $this->input->post('password');
$result = $this->servicefire->Auth($user, $pass);
if ($result != null) {
header('location:'.base_url('admin/index'));
}else{
header('location:'.base_url());
}
}

este es mi .htaccess:

RewriteEngine on
RewriteCond $1 !^(index.php|robots.txt|sitemap.xml|template)
RewriteRule ^(.*)$ index.php/$1 [L]

@evigra
Copy link

evigra commented Nov 10, 2017

Duda, el .htaccess lo estan agregando en cada APP
O en raiz
es mi primer dia en CodeIgniter

@gamunax
Copy link

gamunax commented Jan 30, 2018

Hola, debes agregarlo en la raiz de tu aplicacion.
ejemplo:

  • application
  • system
  • .htaccess -> en la raiz debe ir

@joshua1983
Copy link

Hola, a los que no les funciona aun, recuerden que deben habilitar en el httpd.conf de apache la propiedad AllowOverride a All

@jhonkey
Copy link

jhonkey commented Jun 14, 2018

ERROR falta un (?):

Si el archivo/directorio no existe, redireccionamos

RewriteRule ^(.*)$ /index.php/$1 [L]

CORRECTO:
RewriteRule ^(.*)$ index.php?/$1 [L]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment