Конфигурация Caddy для WordPress для нескольких сайтов

Я пытаюсь настроить веб-сайт Wordpress с мультисайтом:

  • example.com

  • example.com/fr

Со следующим 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 &
}

Когда я достигну /fr/wp-admin/Я получаю 301 /wp-admin/,

Кто-нибудь знает, как это исправить?

2 ответа

Этот конфиг caddy работает для меня. Надеюсь это поможет.

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

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

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

Это то, что вы указали:

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

Который в вашем случае с просьбой /fr/wp-admin/ постараюсь служить:

  1. {path} знак равно /fr/wp-admin/

  2. {path}/ знак равно /fr/wp-admin/

  3. {1} знак равно /wp-admin/, который является первым блоком, захваченным в ваших скобках

Значение Кэдди не находит администратора под /fr, или не перенаправлено свойство потом, в зависимости от того, что вы нацелены.

Другие вопросы по тегам