2016-06-20 21 views
10

Tôi đang cố gắng để thiết lập một trang web Wordpress với nhiều địa điểm:cấu hình Caddy cho Wordpress nhiều địa

  • example.com

  • example.com/fr

Với những điều sau đây 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 & 
} 

Khi tôi đạt đến số /fr/wp-admin/, tôi nhận được 301 đến /wp-admin/.

Có ai biết cách khắc phục điều đó không?

Trả lời

0

Đây là những gì bạn đã cho với:

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

Mà trong trường hợp của bạn, với yêu cầu /fr/wp-admin/ sẽ cố gắng phục vụ:

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

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

  3. {1} = /wp-admin/, mà là khối đầu tiên bị bắt trong ngoặc đơn của bạn

Nghĩa Caddy không tìm thấy admin dưới /fr, hoặc không chuyển tài sản sau đó, tùy thuộc vào những gì bạn nhắm đến.

0

Cấu hình caddy này hoạt động đối với tôi. Hi vọng điêu nay co ich.

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

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

rewrite { 
    if {path} not_match ^\/wp-admin 
    to {path} {path}/ /index.php?{query} 
} 
Các vấn đề liên quan