2011-06-28 14 views
5

Tengo que comprobar el HOST de la solicitud http, si es igual a example.com o www.example.com, tengo que hacer una redirección 301.¿Cómo verificar el HOST usando ExpressJS?

¿Cómo puedo hacer esto usando Node.js y Express Web Framework?

+4

El HOST de una solicitud http es parte del encabezado. El objeto de solicitud que se pasa a su devolución de llamada tiene un método .header(). ¿Intentó leer la documentación? –

Respuesta

3

req.header('host')

uso que, en su solicitud de manipuladores.

+7

¿No debería ser 'req.headers.host'? –

2

hacer una búsqueda de cadena, utilizando una expresión regular, por lo que:

if (req.headers.host.search(/^www/) !== -1) { 
    res.redirect(301, "http://example.com/"); 
} 

El método de búsqueda acepta una expresión regular como primer argumento, que se denota por barras circundantes. El primer carácter, ^, en la expresión significa mirar explícitamente el comienzo de la cadena. El resto de la expresión busca tres w's explícitos. Si la cadena comienza con "www", el método de búsqueda devolverá el índice de coincidencia, si hay alguno (0) o -1, si no se encontró.

3

Uso

req.headers.host; 

o

req.header('host'); 

Ambos volverán a organizar nombre. Por ejemplo, localhost:3000

Cuestiones relacionadas