www una tráfico redireccion otro htaccess home hacer ejemplo dominio dinamica como javascript node.js redirect express

javascript - tráfico - ¿Cómo hacer una redirección(301) en Node.js/Express?



redirect 301 www (3)

Para cualquiera que llegue aquí desde Google, mientras que la respuesta de @ frederic sigue siendo lo que recomiendan los documentos expresos, el estilo response.send(status, body) ha quedado en desuso y generará una advertencia (estoy en Express 4.13.4 en el momento de escribiendo) y, lo que es más importante, descubrí que ya no producía el resultado deseado al redirigir.

Como mencionó @Markasoftware, para lograr un 301 seguido automáticamente, debe establecer el encabezado de ubicación en la url que desee. El cuerpo de la solicitud puede estar vacío:

response.set(''location'', ''https://my.redirect.location''); response.status(301).send()

Tengo un sitio estático, un diseño simple de una sola página que implemento en Dokku. Necesito hacer una redirección (301) de www a non www y de *.website1.com a *.website1.com , pero no sé cómo. Estaba tratando de usar Express-force-domain en npm pero hace que mi URL se vuelva loca y al tener algunos bucles de redirección, estaba probando otros métodos que encontré en la web pero ninguno tuvo éxito.

mi server.js es:

var express = require(''express'') var app = express(); app.set(''port'', (process.env.PORT || 80)) app.use(express.static(__dirname + ''/public'')) app.get(''/'', function(request, response) { response.send(''Hello World!'') }) app.listen(app.get(''port''), function() { console.log("Node app is running at localhost:" + app.get(''port'')) })

Esa es la versión que funciona, pero sin redirecciones.


Por lo que yo entiendo, para establecer un código HTTP 301, debe establecer el código de respuesta en 301 y luego establecer el encabezado de la Location a la URL a la que desea redirigir. No creo que esta sea la forma preferida de hacer www a urls no www.