permalinks — Jak używać „blogs.dir” jako przesyłania multimediów zamiast katalogu „uploads” w konfiguracji wielostanowiskowej WordPress
Konfiguracja 1:
Ogólna konfiguracja wielu witryn oparta na subdomenie/domenie niestandardowej dla podrzędnych witryn sieciowych ma taki katalog przesyłania
/home/example1.com/public_html/wp-content/uploads/sites/8/2022/01/logo.png
example1.com : podstawowa wielostanowiskowa sieć WordPress
example2.com : podrzędna witryna sieciowa o identyfikatorze witryny 8 w witrynie example1.com
Dostęp do tego pliku można uzyskać z podrzędnej witryny sieciowej pod następującym adresem URL
poniżej znajduje się ogólny plik .htaccess dla witryny sieciowej opartej na subdomenie
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,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]
# END WordPress
Konfiguracja 2:
W konfiguracji wielostanowiskowej opartej na subdomenie/domenie niestandardowej mam ten katalog przesyłania, używa on blogs.dir zamiast katalogu przesyłania
/home/example1.com/public_html/wp-content/blogs.dir/8/files/2022/01/logo.png
Podrzędna witryna sieciowa ma następującą ścieżkę do pliku
example2.com/files/2022/01/logo.png
.htaccess tej konfiguracji jest tutaj
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^(.*/)?files/$ index.php [L]
RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
RewriteRule ^(.*/)?files/(.*) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
Próbowałem użyć tego do nowej ogólnej instalacji, w której zamierzoną ścieżką przesyłania jest blogs.dir, ale posiadanie tego .htaccess nic nie daje.
Nie ma takiej różnicy w pliku wp-config.php, która mogłaby wpłynąć na tę konfigurację
/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'www.example1.com' );
define( 'PATH_CURRENT_SITE', " );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
define('ADMIN_COOKIE_PATH', "); // removed for hide my wp ghost plugin
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST'] );
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');
define( 'NOBLOGREDIRECT', '/404' );
Obie konfiguracje zostały wykonane przeze mnie i nie pamiętam żadnych ustawień w desce rozdzielczej, które mogłyby to zmienić. Permalinki sprawdzone; wszystkie możliwe ustawienia w desce rozdzielczej sprawdzone.
Ogólna instalacja na wielu serwerach ujawnia identyfikator witryny w ścieżce nośnika w ten sposób
Celem nie jest ujawnienie identyfikatora witryny w ścieżce mediów
example2.com/files/2022/01/logo.png
Czego mi tu brakuje?