Estoy usando la herramienta de redirección de Kinsta para configurar una redirección simple de un dominio a otro. Esto debe redirigir para todas las rutas, excepto para una ruta específica (no debería ocurrir ninguna redirección si está presente en la URL). Ejemplo:
https://antiguodominio.com -> https://nuevo.subdominio.com
https://antiguodominio.com/blog -> https://nuevo.subdominio.com/blog
https://antiguodominio.com/faq -> https://nuevo.subdominio.com/faq
Sin embargo, si:
https://olddomain.com/my-admin -> https://olddomain.com/my-admin (SIN REDIRECTO)
Básicamente, necesito una sola regla de expresiones regulares que pueda hacer esto, ya que no tengo acceso a un archivo de configuración.
Lo más cercano que obtuve fue usar (. ?. /tecnología) en https://nuevo.subdominio.com/$1 como prueba; esto dio como resultado que solo la página de /tecnología fuera redirigida a nuevos sitios /página de tecnología. Necesito el comportamiento opuesto
Puede usar la sintaxis de anticipación negativa (?!b) en expresiones regulares que básicamente significa "no coincide con b ".
^(?!\/?my-admin$)\/?(.*)$ a https://new.example.com/$1
^ - comienza con\/? - Prefijo de barra diagonal opcional(?!\/?my-admin$) - No "my-admin" con un prefijo de barra inclinada opcional(.*) - Cualquier carácter en el grupo de captura que se convierte en $1$ termina conProbado aquí: https://regex101.com/r/jC8nB0/1229