Archivos para ‘CodeIgniter’

7 abril 2010

Arreglar Cannot send session cache limiter en CodeIgniter

por auraham

Hace precisamente un momento encontré por qué no funcionaba una clase Controllador en CI y el error era casi ‘invisible’.

El mensaje de CodeIniter fue:

Comparé el archivo original (el cual no contenía ese error) con el archivo en el que había realizado pocas modificaciones. Gracias a diff encontré que el supuesto error se encontraba en la última línea del archivo modificado.

?>

Encontré un tabulador después de ‘>’. Al borrarlo, se solucionó el error.

18 enero 2010

Quitar index.php de CodeIgniter

por auraham

Para poder quitar ‘index.php’ de nuestra URL debemos realizar esto

  1. Modificar el archivo .htaccess
  2. Modificar variables en conf.php
  3. Usar el módulo mod_write de Apache
  4. Modificar httpd.conf
  5. Reiniciar

De aquí en adelante nuestra instalación de CodeIgniter se llamará aplicacion_ci y se encuentra en

/usr/local/apache2/htdocs/aplicacion_ci

Modificar el archivo .htaccess
Es necesario modificar este archivo dentro de la carpeta de nuestra aplicación. Se encuentra en

/usr/local/apache2/htdocs/contest/.htaccess

Si no lo puedes ver, presiona Ctrl+H. Una vez abierto, encontrarás algo como

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

Reemplaza todo eso por lo siguiente

<IfModule mod_rewrite.c>
    RewriteEngine On

    ##NOMBRE DE LA APLICACION
    #Cambia esta linea por el nombre de tu aplicacion
    #Es decir, si nuestra aplicacion esta en
    #		/usr/local/apache2/htdocs/aplicacion_ci
    #El nombre de la aplicacion sera
    #		/aplicacion_ci/
    RewriteBase /aplicacion_ci

    ##PROTECCION DE SYSTEM
    #Evita que alguna persona pueda entrar directamente al directorio system
    #Si tu carpeta system tiene otro nombre, debes colocarlo aqui tambien
    #Puedes usar la misma sintaxis para ocultar otros directorios
    #Ademas, permite usar un controlador llamado System.php, lo cual, antes no era posible

    RewriteCond %{REQUEST_URI} ^system.*
    RewriteRule ^(.*)$ /index.php?/$1 [L]

    ##VERIFICAR EXISTENCIA DE ARCHIVO
    #Si la URL no comienza con 'system', el servidor web verificara si existe algo que se relacione con
    #la URL, como una imagen, script o directorio
    #Si no existe, manda la peticion a index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    #Si no tenemos el modulo mod_rewrite instalado, todos los 404
    # pueden ser enviados a index.php, y todo trabaja de manera normal
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>

Modificar variables en conf.php

$config['index_page'] = ”;
$config['uri_protocol'] = ‘QUERY_STRING’;

Usar el módulo mod_write de Apache

Para instalar Apache con mod_write, en caso de que no lo tengas habilitado, visita este post.

Modificar httpd.conf
Hay que asegurarnos de que Apache nos permita usar .htaccess

Es necesario modificar estas líneas

<Directory "/usr/local/apache2/htdocs">
...
Options FollowSymLinks
AllowOverride FileInfo
...
</Directory>

Si te produce algún error, intenta con esto

<Directory "/usr/local/apache2/htdocs">
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>

Reiniciar
Por último, reinicia apache

apachectl restart

Fuentes

CodeIgniter & ElliotHaughin

31 diciembre 2009

Algo de tiempo libre

por auraham

Pues bien, desde hace días ya iniciaron las vacaciones para muchos, gracias a Dios. Por fortuna, todo va bastante bien por aquí antes de finalizar el año, y el ocio está a la orden del día. Así que qué mejor que curiosear por Internet un par de horas al día.

Estos son los temas que últimamente me han quitado muy buen tiempo:

  • Programar con CodeIgniter
  • CSS
  • SQL Inyection

Aunque sólo son tres cosas, son bastante interesantes.

Programar con CodeIgniter

Ya desde hace meses sigo, ya por mero hobbie, con un pseudoproyecto de base de datos en un servidor tipo LAMP, pero no pensé que me llevara tanto tiempo (¿y quién no?). Así que después de un tiempo me inicié con PHP, y después de ver el espagueti de PHP con CSS que hice, me recomendaron CodeIgniter, un framework opensource bastante bueno para iniciar a programar o arreglar un proyecto anterior. Ofrece muchas facilidades, como una mínima configuración, un completo manual de usuario (también en español), es muy ligero, entre otras. Altamente recomendable para iniciar un proyecto con PHP y MySQL, por supuesto, usando MVC.

CSS

Una cosa lleva a la otra. Así que para tener una mejor presentación volví a empezar con las famosas hojas de estilo. Pues bien, aunque aún no puedo hacer nada extraordinario por mí mismo, he encontrado una fuente obligada para cualquier freelancer. Se trata de Smashing Magazine, un sitio que incluye post dedicados al diseño en muchas ramas, además de explicar ejemplos con CSS, JavaScript, JQuery hasta PHP. Lo mejor de SM es que incluye enlaces a decenas de otras páginas igual de buenas, como Web Deigner Wall. Claro, si no te gusta diseñar, también puedes simplemente descargar algunas cosillas, como íconos, wallpapers o los freebies del Viernes.

SQL Inyection

Un tema diferente a programar es echar algo abajo. Desde hace tiempo he estado interesado en las debilidades de los CMS, tal como Joomla!, pero resulta que es bastante difícil realizar alguna consulta maliciosa. Ni siquiera Milw0rm me ofrece una solución, al menos ninguna actual. En fin, los desarrolladores de Joomla! hacen bien su trabajo, eso lo demuestra.

Por el momento es todo lo que he podido conocer acerca de estos temas y espero poder subir pronto algo decente. Au revoir.

Seguir

Get every new post delivered to your Inbox.