Мультисайтовые сетевые медиафайлы отображаются частично - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть многоузловая установка поддоменов multisite.domain.com с различными сайтами, расположенными multisite.domain.com/sitename и т. Д.

Загрузка мультимедиа работает правильно на главном сайте, расположенном multisite.domain.com (файлынаправлять в папку для загрузки), но не на дочерние сайты (направлять в / files / not / uploads /).

Изображения также правильно отображаются на одном дочернем сайте (multisite.domain.com/livesite), который был перенесен в домен с псевдонимом www.livesite.com (с загрузками, направленными на LifeSite.com/files/).2019/03 / img.jpg и т. Д.), Что странно, поскольку этот же каталог не работает на других дочерних сайтах, которые еще не работают.

Мой htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]


RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>

# END WordPress

Многосайтовые конфигурации My Wp-config:

define('SUNRISE', true);

/* Multisite */
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'multisite.domain.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

Использование плагина Sunrise для создания псевдонимов для сайтов.Пробовал разные решения, как написано здесь для htacess: codex.wordpress.org/Multisite_Network_Administration, но не работал должным образом.

Буду признателен за любые советы, так как онлайн-источники не имеют никакой новой информации по этой проблеме.

1 Ответ

0 голосов
/ 17 апреля 2019

В настоящее время исправлено с помощью фильтра в functions.php, но не представляется окончательным решением:

add_filter( 'upload_dir', 'same_upload_dir' );
function same_upload_dir( array $uploads ) {
    $baseurl = WP_CONTENT_URL . '/uploads/sites/' . get_current_blog_id();
    $basedir = ABSPATH . 'wp-content/uploads/sites/'. get_current_blog_id();
    $subdir = $uploads['subdir'];

    return array(
        'path'    => $basedir . $subdir,
        'url'     => $baseurl . $subdir,
        'subdir'  => $subdir,
        'basedir' => $basedir,
        'baseurl' => $baseurl,
        'error'   => false,
    );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...