Problem:
W instalacji WordPress typu multi-site, zdarza się, że strona 404 nie działa prawidłowo dla głównej domeny. W takiej sytuacji, gdy próbujesz otworzyć stronę, która nie istnieje, zostajesz przekierowany na stronę główną zamiast zobaczyć stronę 404. Kiedy użytkownik próbuje zarezerwować domenę np. www.subdomena.przykladowastrona.pl i taka domena jest już zajęta, zostaje przekierowany na stronę rejestracji
www.przykladowastrona.pl/wp-signup?new
gdzie może zarejestrować nowy blog pod tą nazwą (o ile możliwość rejestracji nowej domeny jest włączona w ustawieniach). Przekierowanie to pojawi się również w sytuacji, gdy domena, która była zarejestrowana została usunięta i próbujemy ją uruchomić
Aby uniknąć tego domyślnego przekierowania, można użyć parametru NOBLOGREDIRECT, który pozwala zablokować automatyczne przekierowanie na stronę rejestracji. Jednakże, warto jest zauważyć, że stosowanie tego parametru może również wpłynąć na działanie strony 404 dla głównej domeny, powodując, że zamiast strony 404, użytkownik zostanie przekierowany na stronę główną.
W pliku wp-config.php dodaj wiersz:
define( 'NOBLOGREDIRECT', 'https://www.przykladowastrona.pl' );
Dodanie NOBLOGREDIRECT spowoduje jednak to, że przekierowanie 404 na głównej przestanie nam działać. działanie przekierowania 404 przywrócisz jeśli wykonasz następujące kroki:
-
Otwórz function.php (znajduję się on w folderze wp-content/wp-themes/nazwa_twojego_szablonu/
- Dodaj wiersz
<?php remove_action( 'template_redirect', 'maybe_redirect_404' ); ?>
To tyle 🙂