Hacía mucho tiempo que no escribía nada en mi blog, y ahora que he empezado a estudiar el Framework CodeIgniter voy a explicar como eliminar de la url el archivo “index.php”.
Siguiendo el manual de Codeigniter, por defecto, el archivo index.php estará incluido en sus URLs:
ejemplo.com/index.php/noticias/articulo/mi_articulo
Si queremos que la url quede así:
ejemplo.com/noticias/articulo/mi_articulo
se puede quitar fácilmente usando un archivo .htaccess con algunas reglas simples. Aquí hay un ejemplo de tal archivo, usando el método “negativo” donde todo se redirecciona excepto los ítem especificados:
En el ejemplo anterior, cualquier solicitud HTTP distinta de index.php, imágenes, y robots.txt se trata como una solicitud a su archivo index.php.
Bien, lo más importante de lo anterior, sacado del manual de Codeigniter, es que donde pone
hay que fijarse bien si estamos en localhost o en un servidor web. Yo estoy usando localhost y poniendo lo anterior, lógicamente no funcionaba, ya que en mi localhost tengo el proyecto de Codeigniter en la carpeta codeigniter. Por lo tanto si estáis trabajando en local deberéis poner la carpeta donde se aloja el framework en la regla anterior. Así:
En principio así ya os habéis cepillado el dichoso index.php de las url.
Pero ojo, puede que no os funcione todavía y os topéis con el problema que me he encontrado usando XAMPP. Y es que por defecto no me permite el rewrite.
Para ver si es ese el problema de que no funcione, tenéis que ir a la carpeta C:\xampp\apache\conf y editar el archivo httpd.conf de esta forma:
1.- En la línea donde ponga LoadModule rewrite_module modules/mod_rewrite.so tenéis que aseguraros de que no está comentada, es decir, no debe tener delante el símbolo #.
2.- En la línea donde ponga AllowOverride tenéis que aseguraros que quede tal que así:
En mi caso he tenido que poner “All” detrás de AllowOverride y con esto ya ha funcionado.
Espero que haya podido servir de ayuda a alguien.
0 comentarios :
Publicar un comentario