我有一个子域多站点安装multisite.domain.com,不同的站点位于multisite.domain.com/sitename等。
媒体上载在位于multisite.domain.com的主站点上运行正常(文件指向uploads文件夹),但在子站点上无法正常工作(指向/files/ not / uploads /)。
图片也可以在一个子网站(multisite.domain.com/livesite)上正确显示,这个子网站使用了一个别名www.livesite.com (上传指向livesite.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我的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);使用日出插件为网站创建别名。尝试了不同的解决方案,就像这里为htacess: codex.wordpress.org/Multisite_Network_Administration编写的那样,但没有像预期的那样工作。
任何建议都将不胜感激,因为在线来源没有任何关于这个问题的新信息。
发布于 2019-04-17 22:10:16
目前通过在functions.php中使用filter修复,但似乎不是最终解决方案:
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,
);
}https://stackoverflow.com/questions/55727660
复制相似问题