Errore 404 multisite per sottodirectory
Sto cercando di creare un multisite come sottodirectory e ho seguito alla lettera le istruzioni per la configurazione della rete. Il multisite sembra essere configurato correttamente, i file .htaccess e wp-config.php sembrano corretti e sono riuscito a completare la configurazione della rete, tuttavia quando vado alla pagina del multisite appare un errore 404 - Non trovato. Questo mi impedisce anche di accedere al lato amministrativo di questo sito.
Il mio sito principale funziona ancora correttamente e posso accedere al lato amministrativo da lì e, con l'aiuto di un plugin, posso accedere e manipolare il database. Tutte le tabelle create recentemente sono presenti, l'URL del multisite e le opzioni sembrano tutte corrette.
Ho verificato che il file .htaccess corrisponda a quello di WordPress. Ho verificato la posizione corretta di .htaccess (root di public_html) e che sia scrivibile. Non crediamo che questo sia un problema di permalink come suggerito da gran parte delle mie ricerche.
Dopo una ricerca approfondita non sono riuscito a trovare una soluzione, qualsiasi aiuto è apprezzato.
Ecco il mio file .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# aggiunge uno slash finale a /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,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>
e la fine del mio file di configurazione:
/**
* Per gli sviluppatori: modalità di debug di WordPress.
*
* Modificare questo valore in true per abilitare la visualizzazione degli avvisi durante lo sviluppo.
* È fortemente raccomandato agli sviluppatori di plugin e temi di usare WP_DEBUG
* nei loro ambienti di sviluppo.
*/
define('WP_DEBUG', false);
/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'www.mybusinessconnect.com.au');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
/* Questo è tutto, smetti di modificare! Buon blogging. */
/** Percorso assoluto alla directory di WordPress. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Imposta le variabili di WordPress e include i file. */
require_once(ABSPATH . 'wp-settings.php');

Ho avuto esattamente lo stesso problema.
La mia soluzione: ho modificato /etc/apache2/sites-enabled/000-default.conf. Deve apparire così:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory />
Options FollowSymLinks
AllowOverride all
</Directory>
<Directory /var/www/>
Options FollowSymLinks
AllowOverride all
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Funziona!

So che questo è Stack Exchange e commenti del genere di solito non sono incoraggiati, MA GRAZIE MILLE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Se ti manca il file .htaccess o non lo vuoi, devi avere un blocco mod_rewrite anche nel file 000-default.conf
: https://gist.github.com/nicolasramy/3206657

Ho affrontato lo stesso problema - directory multisite WordPress - errore 404 per la dashboard del nuovo sito e la pagina del sito, mentre il sito admin e la dashboard funzionavano.
Il mio problema era nella configurazione di Apache - /etc/apache2/httpd.conf
. Bisogna impostare 'AllowOverride All
' nella sezione <Directory "/Users/user1/Sites">
E non dimenticare di abilitare mod_rewrite in httpd.conf
:
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
Altrimenti restituisce un errore 500.
Non so esattamente cosa rappresentino queste configurazioni, ma hanno risolto il mio problema. Spero che possa essere utile.

Secondo WordPress, queste regole htaccess sono per il multisito https://wordpress.org/support/article/htaccess/
#Esempio Subfolder
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# aggiunge uno slash finale a /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,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]
#Esempio SubDomain
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# aggiunge uno slash finale a /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]
Questo è quello che ho usato senza problemi su un sito in hosting.

Ho avuto lo stesso problema e ho provato di tutto! Ho scoperto che non c'era il PUNTO davanti al mio file htaccess! Sto usando Windows e in qualche modo il punto è stato rimosso.
Per aggiungere un punto davanti a un file in Windows, rinomina il file in .htaccess. e Windows rimuoverà l'ultimo punto lasciando il primo.

Vorrei menzionare una potenziale causa, che è piuttosto ovvia ma in realtà abbastanza difficile da rilevare: l'uso di caratteri non consentiti nella parte di percorso dell'URL del sotto-sito.
Come indicato nel Codex di WordPress:
Indirizzo del sito: Sono consentiti solo i caratteri a-z e 0-9.
L'utilizzo di caratteri non consentiti (ad esempio i punti) nel percorso della sottodirectory fa sì che le regole di riscrittura nel file .htaccess non vengano attivate, risultando in risposte 404 dal server.
Avendo lavorato per diversi anni con progetti WordPress professionali, mi consideravo almeno un po' competente sull'argomento, ma devo ammettere di aver passato 2-3 ore a debugare il problema, per poi rendermi conto di aver commesso un errore da principiante. :)
