2016-06-20 38 views
10

Sto cercando di configurare un sito web WordPress con multisito:configurazione Caddy per Wordpress multisito

  • example.com

  • example.com/fr

Con la seguente 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 & 
} 

Quando raggiungo lo /fr/wp-admin/, ottengo un numero da 301 a /wp-admin/.

Qualcuno sa come risolvere il problema?

risposta

0

Questo è quello che hai indicato con:

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

che nel tuo caso, con la richiesta /fr/wp-admin/ cercherà di servire:

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

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

  3. {1} = /wp-admin/, che è il primo blocco catturato nella tua parentesi

Significato Caddy non trova l'amministratore sotto /fr oppure non è stata reindirizzata proprietà in seguito, a seconda di cosa si mira.

0

Questa configurazione di caddy funziona per me. Spero che questo ti aiuti.

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

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

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