Eroare 404 multisite pentru subdirectoriu
Încerc să creez un multisite ca subdirectoriu și am urmat instrucțiunile de rețea exact. Multisite-ul pare să fie configurat corect, fișierele .htaccess și wp-config.php par corecte și am reușit să fac configurarea rețelei, dar când accesez pagina multisite, primesc o eroare 404 - Negăsit. Acest lucru mă împiedică să mă conectez și în partea de administrare pentru acest site.
Site-ul meu principal funcționează în continuare bine și pot să mă conectez în partea de administrare de acolo și cu ajutorul unui plugin pot accesa și manipula baza de date. Toate tabelele nou create sunt acolo, URL-ul multisite și opțiunile par toate corecte.
Am verificat că fișierul .htaccess se potrivește cu cel din WordPress. Am verificat locația corectă a fișierului .htaccess (rădăcina public_html) și are permisiuni de scriere. Nu credem că aceasta este o problemă de permalink-uri așa cum sugerează mare parte din cercetarea mea.
După cercetări extinse nu am reușit să găsesc o soluție, orice ajutor este apreciat.
Iată fișierul meu .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# adaugă un slash la finalul /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>
și sfârșitul fișierului meu de configurare:
/**
* Pentru dezvoltatori: Modul de depanare WordPress.
*
* Schimbă aceasta în true pentru a activa afișarea notificărilor în timpul dezvoltării.
* Este recomandat cu tărie ca dezvoltatorii de plugin-uri și teme să folosească WP_DEBUG
* în mediile lor de dezvoltare.
*/
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);
/* Asta e tot, oprește editarea! Blogging fericit. */
/** Calea absolută către directorul WordPress. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** Configurează variabilele WordPress și include fișierele. */
require_once(ABSPATH . 'wp-settings.php');

Am avut exact aceeași problemă.
Soluția mea: am editat fișierul /etc/apache2/sites-enabled/000-default.conf. Trebuie să arate astfel:
<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>
Funcționează!

Știu că asta este Stack Exchange și astfel de comentarii nu sunt de obicei încurajate, DAR MULȚUMESC!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Dacă lipsește fișierul .htaccess sau nu dorești să-l folosești, trebuie să ai un bloc mod_rewrite și în 000-default.conf
: https://gist.github.com/nicolasramy/3206657

Am avut aceeași problemă - director WordPress multisite - eroare 404 pentru noul site în dashboard și pagina site-ului, admin-ul și dashboard-ul funcționau.
Problema mea era în configurația Apache - /etc/apache2/httpd.conf
. A trebuit să adaug 'AllowOverride All
' sub Secțiunea <Directory "/Users/user1/Sites">
Și nu uitați să activați mod_rewrite în httpd.conf
:
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
Altfel, va da eroare 500.
Nu știu exact ce reprezintă aceste configurări, dar asta mi-a rezolvat problema. Sper să vă ajute.

Potrivit WordPress, aceste reguli htaccess sunt pentru rețele multisite https://wordpress.org/support/article/htaccess/
#Exemplu Subfolder
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# adaugă slash la final pentru /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]
#Exemplu SubDomain
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# adaugă slash la final pentru /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]
Aceste reguli le-am folosit fără probleme pe un site găzduit.

Am avut aceeași problemă și am încercat tot! Am descoperit că nu exista un PUNCT în fața fișierului meu htaccess! Folosesc Windows și cumva punctul a fost eliminat.
Pentru a adăuga un punct în fața unui fișier în Windows, redenumește fișierul .htaccess. iar Windows va elimina ultimul punct și va lăsa primul.

Aș dori să menționez o cauză potențială, care este destul de evidentă, dar de fapt destul de greu de detectat: utilizarea de caractere nepermise în partea de cale a URL-ului sub-site-ului.
După cum se menționează în WordPress Codex:
Adresa site-ului: Sunt permise doar caracterele a-z și 0-9.
Folosirea caracterelor nepermise (de exemplu, puncte) în calea subdirectorului face ca regulile de rescriere din fișierul .htaccess să nu se activeze, rezultând în răspunsuri 404 de la server.
După ce am lucrat câțiva ani cu proiecte WordPress profesionale, m-am considerat măcar oarecum competent pe această temă, dar trebuie să recunosc că am petrecut 2-3 ore depanând problema și apoi mi-am dat seama că am făcut o greșeală de începător. :)
