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.

Función en PHP para comprobar si un email es válido

Hoy he tenido que preparar una pequeña función en PHP para que compruebe si los emails son válidos. Está hecha usando expresiones regulares:

1
2
3
4
if (ereg("([A-Za-z0-9_.-]+@[A-Za-z0-9_.-]+\.[A-Za-z0-9_-]+)", $email, $resultado))
{
    echo $resultado[1];
}

Este sencillo script sólo admitirá emails que contengan letras y números, guiones y puntos, por ejemplo:

paco@email.com
paco.smith@email.com
paco.smith@mi.email.com
paco_smith@mi-email.com

y no admitirá emails con espacios o caracteres “extraños”.

Actualización: He corregido un pequeño un error en el patrón que hacía que aceptase emails con una barra invertida, como por ejemplo:

pa\co@email.com