Configuración de Caddy para WordPress multisitio

1 minuto de lectura

Estoy tratando de configurar un sitio web de WordPress con multisitio:

  • ejemplo.com

  • ejemplo.com/fr

Con el siguiente Caddyfile:

example.com:80 {
    redir https://www.example.com{uri}
}

www.example.com:80 {
    root /app/public
    gzip

    fastcgi / 127.0.0.1:9000 {
        ext .php
        split .php
        index index.php
    }

    rewrite {
        regexp ^/[_0-9a-zA-Z-]+(/wp-.*)
        to {path} {path}/ {1}
    }

    rewrite {
        regexp ^/[_0-9a-zA-Z-]+(/.*\.php)$
        to {path} {path}/ {1}
    }

    rewrite {
        if {path} not_match ^\/wp-admin
        to {path} {path}/ /index.php?_url={uri}
    }

    log stdout
    startup /usr/sbin/php-fpm7.0 -F -O &
}

cuando alcanzo /fr/wp-admin/obtengo un 301 para /wp-admin/.

¿Alguien sabe cómo arreglar eso?

Esta configuración de caddy funciona para mí. Espero que esto ayude.

rewrite {
    regexp ^(/[^/]+)?(/wp-.*)
    to {2}
}

rewrite {
    regexp ^(/[^/]+)?(/.*\.php)
    to {2}
}

rewrite {
    if {path} not_match ^\/wp-admin
    to {path} {path}/ /index.php?{query}
}

Esto es lo que indicaste con:

rewrite {
    regexp ^/[_0-9a-zA-Z-]+(/wp-.*)
    to {path} {path}/ {1}
}

Que en su caso, con la solicitud /fr/wp-admin/ intentará servir:

  1. {path} = /fr/wp-admin/

  2. {path}/ = /fr/wp-admin/

  3. {1} = /wp-admin/que es el primer bloque capturado en su paréntesis

Lo que significa que Caddy no encuentra el administrador debajo /fro no se redirige a la propiedad después, según el objetivo.

¿Ha sido útil esta solución?