Wordpress multisite的Caddy配置
我正在尝试使用多站点设置Wordpress网站:Wordpress multisite的Caddy配置,wordpress,multisite,caddy,caddyfile,Wordpress,Multisite,Caddy,Caddyfile,我正在尝试使用多站点设置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
- example.com
- example.com/fr
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/
有人知道如何解决这个问题吗?这就是您所指出的:
rewrite {
regexp ^/[_0-9a-zA-Z-]+(/wp-.*)
to {path} {path}/ {1}
}
在您的情况下,通过请求/fr/wp admin/
将尝试提供以下服务:
{path}
=/fr/wp admin/
{path}/
=/fr/wp admin/
{1}
=/wp admin/
,这是括号中捕获的第一个块这意味着Caddy在
/fr
下找不到管理员,或者之后没有重定向属性,这取决于您的目标。此Caddy配置适合我。希望这有帮助
rewrite {
regexp ^(/[^/]+)?(/wp-.*)
to {2}
}
rewrite {
regexp ^(/[^/]+)?(/.*\.php)
to {2}
}
rewrite {
if {path} not_match ^\/wp-admin
to {path} {path}/ /index.php?{query}
}