Eroare 404 multisite pentru subdirectoriu

3 nov. 2014, 17:51:42
Vizualizări: 35.3K
Voturi: 7

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

dacă folosiți Nginx și este nevoie de ajustări suplimentare, treceți la Apache

nodws nodws
1 feb. 2023 20:39:48
Toate răspunsurile la întrebare 5
2

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ă!

23 feb. 2015 14:59:18
Comentarii

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

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

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

JN01 JN01
6 mar. 2025 14:10:10
0

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.

20 ian. 2019 02:28:01
0

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.

2 sept. 2017 05:35:05
1

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.

15 nov. 2019 16:37:00
Comentarii

De obicei, pe Windows fișierele cu punct sunt ascunse și trebuie să selectați opțiunea relevantă pentru a le face vizibile.

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

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

14 ian. 2020 11:29:06