web-dev-qa-db-fra.com

Images téléchargées dans le mauvais répertoire après passage au multisite

J'ai converti un site existant en multisite avec des sous-domaines. Il y avait quelques problèmes à résoudre, mais cela fonctionne bien maintenant, à une exception près:

Les images pour le site principal téléchargent correctement, mais pas pour les sous-domaines. Par exemple, les images qui doivent être placées dans:

/public_html/wp-content/uploads/sites/6/2016/08

... se retrouvent dans:

/public_html/wp-content/uploads/sites/6/sites/6/2016/08

Je soupçonne que l'erreur se trouve dans la ligne #uploaded files , mais je ne suis pas sûr de ce que cela fait.

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

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?siteN/files/(.+) wp-content/blogs.dir/N/files/$2 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

# Redirect to www
RewriteCond %{HTTP_Host} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_Host}/$1 [R=301,L]

</IfModule>

# END WordPress

Lorsque je déplace les fichiers vers l'emplacement correct à l'aide de FTP, les images apparaissent comme elles le devraient dans la médiathèque.

2
Richard Hare

Vérifiez la valeur de l'option ms_files_rewriting dans la table site_options.

Si ms_files_rewriting est désactivé, WordPress ajoute automatiquement/sites/nombre à la valeur du chemin de téléchargement pour les sous-sites.

Ce paramètre doit être désactivé par défaut pour tous les réseaux multisites créés après WordPress 3.5. Il ne devrait être activé que pour les réseaux plus anciens.

Si ce paramètre est correctement désactivé, supprimez simplement extra/sites/6 de votre chemin de téléchargement. WordPress l'ajoutera pour vous.

Fondamentalement, WordPress 3.5 a modifié la manière dont les téléchargements étaient stockés pour les sites multiples et le fonctionnement de ces options de chemin de téléchargement. Le paramètre permet de différencier les deux configurations différentes. La chose /blogs.dir/ est à l'ancienne. La nouvelle méthode consiste simplement à les placer dans/wp-content/uploads/sites/number, et à les associer directement à leurs URL. Plus de RewriteRules pour les fichiers nécessaires.

2
Otto