Dos dominios, redirección condicional

¡Estimados expertos en Discourse!

Llevamos tres años gestionando un foro de Discourse (DOMAIN1). Ahora queremos ampliar el alcance de las discusiones y añadir DOMAIN2. Gracias a esta publicación, logramos que ambos dominios estuvieran activos con Let’s Encrypt. Mantendremos ambos dominios activos, lo cual funcionó tras el paso 1 de esa publicación. El segundo se redirige al nombre de dominio principal, lo cual es bueno.

Parte de la transición consiste en mover todas las categorías existentes a una nueva categoría de nivel superior.

DOMAIN2 se convertirá en el dominio principal de Discourse, mientras que DOMAIN1 permanecerá vinculado para que los enlaces externos a las publicaciones sigan funcionando.

Aquí está la pregunta: ¿Cómo podemos añadir una redirección si se llama a un DOMAIN1 “vanilla” (solo la URL raíz, sin ruta) hacia la URL de la nueva categoría de nivel superior? Todas las demás llamadas a DOMAIN1 (con rutas) deben conservar la ruta existente (sin cambios, ya funciona). Hacer esto minimizará la confusión, ya que todos los que accedan a DOMAIN1 aterrizarán en la categoría y todo se verá similar a como estaba antes.

Esperamos que alguien tenga sugerencias sobre cómo añadir esta redirección condicional con nuestra configuración de doble dominio.

¡Gracias!
Merten

1 me gusta

Vas a tener un trabajo arduo: una sola instancia de Discourse no puede funcionar en varias direcciones URL; y la redirección de enlaces permanentes no funciona para rutas existentes como la vista de temas.

4 Me gusta

¿Estás diciendo que no hay una manera sencilla de hacer lo siguiente?

(1) ir a domain1.com y que se ejecute Discourse (con el nombre de host principal domain1.com - funciona)
(2) ir a domain2.com y que vaya a domain1.com/c/example/18 (lo que también queremos)
(3) ir a domain2.com/t/topic/1 y que muestre domain1.com/t/topic/1 o domain2.com/t/topic/1 (actualmente funciona)

Estamos en transición y queremos que solo la raíz de domain2.com redirija a una categoría. ¿Existe algún tipo de reescritura de URL que pueda hacer esto?

1 me gusta

Si domain2 solo está sirviendo reglas de redirección, entonces sí puedes escribir una configuración de nginx para hacerlo; los detalles de esto están fuera del alcance de Meta.

2 Me gusta

¿No podría el plugin del mapa del sitio servir como datos crudos para las redirecciones 302 de nginx?

1 me gusta

Lo logramos agregando lo siguiente al archivo web.ssl.template.yml:

if ($host = domain2.com) {
    rewrite ^/$ /c/example/18 permanent;
}
2 Me gusta

Por favor, muévelo a una directiva replace en tu app.yml, ¡de lo contrario las futuras actualizaciones serán un dolor de cabeza para ti!

3 Me gusta

¡Ok, gracias por eso!!!

1 me gusta