WordPress多站点的Caddy配置

avwztpqn  于 2023-06-05  发布在  WordPress
关注(0)|答案(2)|浏览(185)

我正在尝试使用多站点设置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/
有人知道怎么修吗?

g9icjywg

g9icjywg1#

这个caddy配置为我工作。希望这能帮上忙。

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

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

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

hk8txs482#

这就是你所指出的:

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/,这是括号中捕获的第一个块
    这意味着Caddy在/fr下找不到管理员,或者之后没有重定向属性,这取决于你的目标。

相关问题