¿Por qué prefiero Vagrant sobre Wamp Server?

Hoy he publicado en el blog de Urlan Heat un artículo contando por qué prefiero usar Vagrant para crear mis entornos de desarrollo en lugar de usar Wamp o tener un servidor Apache y MySQL instalado en mi ordenador.

Si no has probado Vagrant te recomiendo que le eches un vistazo.

¿Por qué es mejor usar Vagrant que WAMP o similares?

Redireccionar un directorio con HTTP 301 y expresiones regulares

Hace bastante tiempo escrbí un artículo sobre redirecciones con HTTP 301 para ficheros.

Si queremos mover todos los ficheros contenidos en un directorio, con ese sistema deberíamos hacerlo uno a uno. Para ayudarnos en esta tarea podemos usar RedirectMatch y expresiones regulares:

redirectmatch 301 /antiguo/(.*) http://www.otraurl.com/$1

Lo que encontremos dentro del (.*) se trasladará al $1 en la nueva dirección. Todos los ficheros y carpetas que cumplan con la condición /antiguo(.*), es decir, que contengan /antiguo se redireccionarán al dominio www.otraurl.com.

Para más información puedes investigar sobre expresiones regulares.

Eliminar el www de la URL con .htaccess

Tal y como se suele aconsejar es recomendable decidirse por usar nuestro dominio con www o sin www para temas de posicionamiento. Yo suelo elegir sin las www. Para hacerlo una opción es usar el fichero .htaccess y poner el siguiente código:

# Quitar el www del nombre de dominio
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,QSA,L]

Si lo que buscamos es lo contrario, es decir, que se añada el www a la URL debemos usar:

# Redirigir el subdominio sin www a www
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,QSA,L]

Visto en Search Engine Land.

libCurl en PHP

libCurl es una biblioteca (o, como suele decirse: librería) para la transferencia de archivos que soporta varios protocolos (FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS y FILE).

Lo más habitual es que el soporte para cURL venga “de serie” en una instalación PHP. Si no es así tienes dos opciones:

1) Compilar el PHP añadiendo el soporte para cURL (necesitas tener la librería libCurl instalada antes de compilar el PHP). Aquí tienes instrucciones en inglés sobre cómo compilar PHP con soporte cURL.

2) Instalar el paquete php5-curl de tu distribución Linux (el nombre del paquete puede variar).

En algunas versiones tendrás que editar el fichero php.ini y modificar la línea:

;extension=php_curl.so

quitando el símbolo ‘;’ y dejarla así:

extension=php_curl.so

En otras basta con asegurarse que tenemos el fichero curl.so en el directorio:

/usr/lib/php5/extensions

Eso sí, una vez añadido el soporte para cURL deberemos reiniciar Apache:

/etc/init.d/apache restart

¿Cómo puedo comprobar si cURL está disponible en mi instalación Apache/PHP?

Puedes probarlo con el siguiente código:

<?php
if(function_exists('curl_init'))
   echo "Hay cURL";
?>

o puedes hacerlo con la función:

que te mostrará esta y otras valiosas informaciones sobre tu servidor.

En una próxima entrega veremos un ejemplo de trabajo con cURL.

Activar register_globals

Vale, sí, es una locura hoy en día y una fuente inagotable de problemas en cuanto a seguridad se refiere. Sin embargo hay casos en los que en muy útil activar el register_globals. Precisamente hace unos días me encontré con un cliente que quería actualizar un software antiquísimo escrito en PHP que necesitaba tener activado el register_globals. Dado que no conocía el funcionamiento de su aplicación necesitaba tener activada la opción del register globals.

Dicho y hecho, edité el fichero .htaccess de la carpeta donde tenía instalada dicha aplicación y añadí la línea:

php_value register_globals 1

y listo.

Qué es el fichero robots.txt

El fichero robots.txt indica a los buscadores qué es lo que pueden mirar en la web y lo que no. Si alguna vez has analizado el tráfico de tu web probablemente habrás visto que tienes un montón de visitas que realmente son los robots de los buscadores. Estos robots pueden consumir, en algunos casos, bastante ancho de banda y pueden meterse en sitios que preferimos que no queden indexados en los buscadores. Estos problemas pueden resolverse con el fichero robots.txt.

Es altamente recomendable tener este fichero en el directorio raíz de nuestro servidor. En la página The Web Robots Page (en inglés) se puede encontrar un buen montón de información sobre los robots: preguntas frecuentes, listas de robots, cómo crear un robots.txt, etc…

Puede que te resulte interesantes este analizador de ficheros robots.txt que nos avisa de posibles fallos y no da algunas recomendaciones:

http://tool.motoricerca.info/robots-checker.phtml

Añadir soporte GD a Apache en Ubuntu

Vale, esta me ha costado un poco. Tenía que configurar un servidor Apache para que tuviese soprote GD para PHP y después de muchas vueltas lo he encontrado:

sudo apt-get install php5-gd

Después sólo queda reiniciar el servidor Apache:

sudo /etc/init.d/apache2 restart