Errore 404 multisite per sottodirectory

3 nov 2014, 17:51:42
Visualizzazioni: 35.3K
Voti: 7

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');
1
Commenti

se utilizzando Nginx sono necessarie ulteriori modifiche, passa ad Apache

nodws nodws
1 feb 2023 20:39:48
Tutte le risposte alla domanda 5
2

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!

23 feb 2015 14:59:18
Commenti

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

Alexandros Kourtis Alexandros Kourtis
20 mar 2023 02:09:29

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

JN01 JN01
6 mar 2025 14:10:10
0

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.

20 gen 2019 02:28:01
0

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.

2 set 2017 05:35:05
1

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.

15 nov 2019 16:37:00
Commenti

Di solito su Windows i file con il punto sono nascosti e devi selezionare l'opzione pertinente per renderli visibili.

Alexandros Kourtis Alexandros Kourtis
8 feb 2023 18:34:17
0

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. :)

14 gen 2020 11:29:06