Конфигурация 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/
постараюсь служить:
{path}
знак равно/fr/wp-admin/
{path}/
знак равно/fr/wp-admin/
{1}
знак равно/wp-admin/
, который является первым блоком, захваченным в ваших скобках
Значение Кэдди не находит администратора под /fr
, или не перенаправлено свойство потом, в зависимости от того, что вы нацелены.