WordPress Multisite: 2 struktury, subdomena i podkatalog

Środowisko testowe Rodzina RHELAlmaLinux 9.8Nginx + ApacheWordPress 7.1.3Sprawdzono 2026-10-27

WordPress Multisite to funkcja, która łączy kilka witryn w sieć i pozwala zarządzać nimi z jednej instalacji WordPressa. Na WordPressie w konfiguracji Nginx + Apache włączono Multisite na ekranie ustawiania sieci witryn, dodano jedną podwitrynę i sprawdzono ścieżki menu oraz wiersze, które trafiają do plików konfiguracyjnych.

1️⃣ WordPress Multisite i administracja siecią witryn

  • ↪️ Wiele witryn na jednej instalacji

W Multisite wszystkie witryny w sieci korzystają razem z jednej instalacji WordPressa. Pliki rdzenia, wtyczki i motywy też są wspólne, więc na serwerze nie powstaje osobny folder WordPressa dla każdej witryny.

Osobno dla każdej witryny powstają tabele bazy danych i folder przesyłania mediów, a wspólne dla całej sieci są tylko tabele użytkowników. Pierwsza witryna korzysta z istniejącego [/wp-content/uploads/], a od następnej każda witryna używa folderu ze swoim numerem w [/wp-content/uploads/sites/].

Użytkownik, który zarządza całą siecią, to superadministrator (Super Admin). Ekrany administracji siecią witryn pojawiają się po utworzeniu sieci i widzi je tylko superadministrator.

Użytkownicy są tworzeni jako konta sieci, ale żeby wejść na daną witrynę, muszą dostać na niej rolę. Uprawnienia administratorów witryn też są mniejsze: instalować motywy i wtyczki oraz edytować profile innych użytkowników może tylko superadministrator.

Na diagramie poniżej zobaczysz, jak jedna instalacja dzieli się przez sieć na kilka witryn, oraz adresy witryn dla każdego typu adresu.

🧭 Struktura Multisite i typy adresów
Diagram objaśniający
🧩 Struktura
🌐 Typ adresu
📦 Jedna instalacja WordPressaJeden zestaw plików rdzenia
🌐 SiećSuperadministrator
🗂️ Wiele witryn
Witryna głównaNr 1/wp-content/uploads/example.comexample.com
site1Nr 2/wp-content/uploads/sites/2/site1.example.comexample.com/site1
site2Nr 3/wp-content/uploads/sites/3/site2.example.comexample.com/site2
🔗 Wspólne dla całej sieci
Pliki rdzeniaWtyczkiMotywTabele użytkowników
📁 Osobne dla każdej witryny
WpisyUstawieniaMedia
🌐 Adresy z subdomeną
https://site1.example.com/
wp-config.php · SUBDOMAIN_INSTALL = true
🌐 Adresy z podkatalogiem
https://example.com/site1/
wp-config.php · SUBDOMAIN_INSTALL = false
Adres wpisów witryny głównej · https://example.com/blog/hello-world/
Pliki rdzenia, wtyczki, motywy i tabele użytkowników są wspólne dla całej sieci, a wpisy, ustawienia i media są zapisywane osobno dla każdej witryny.
Przy subdomenach każda witryna ma adres w formacie site1.example.com, a wartość [SUBDOMAIN_INSTALL] w wp-config.php to true.
Przy podkatalogach witryny mają adres w formacie example.com/site1, a wartość [SUBDOMAIN_INSTALL] to false. Do adresów wpisów witryny głównej dochodzi [/blog/].

2️⃣ Subdomena a podkatalog: format adresu i ograniczenia wyboru

Przy ustawianiu sieci wybierasz typ adresu witryn: subdomenę albo podkatalog. Subdomena to adres w formacie site1.example.com, a podkatalog (podfolder) w formacie example.com/site1.

PozycjaSubdomenaPodkatalog
Adres witrynysite1.example.comexample.com/site1
Nazwa w oficjalnej dokumentacjiOparty na domenie (domain-based)Oparty na ścieżce (path-based)
Przygotowanie po stronie serweraSkierowanie subdomen do folderu instalacji WordPressa w DNS i na serwerzeBrak dodatkowych ustawień, jeśli działają bezpośrednie odnośniki
Gdy użytkownicy sami tworzą witrynyPotrzebne subdomeny wieloznaczne (wildcard)Brak dodatkowych warunków
Kiedy nie można go wybraćGdy adres WordPressa ma ścieżkę albo jest to localhost lub adres IPWitryny z wpisami opublikowanymi ponad miesiąc temu
Adres wpisów witryny głównejBez zmian/blog/ przed adresem wpisów

Przy podkatalogach na serwerze z działającymi bezpośrednimi odnośnikami nie trzeba nic dodatkowo ustawiać, ale tego typu nie można wybrać na witrynie z wpisami opublikowanymi ponad miesiąc temu. To ograniczenie zapobiega konfliktom między adresami istniejących wpisów a adresami nowych witryn, więc takie witryny instaluje się z subdomenami.

W sieci z podkatalogami do adresów wpisów witryny głównej dochodzi [/blog/]. Dzięki temu nie nakładają się na adresy podwitryn, a do adresów stron nie jest to dodawane.

Zmiana wybranego typu później wymaga kilku kroków. Według oficjalnej dokumentacji sama zmiana wartości [SUBDOMAIN_INSTALL] i reguł przepisywania nie przenosi adresów istniejących witryn, a DNS i certyfikaty też trzeba ustawić osobno.

3️⃣ Przygotowanie przed ustawieniem sieci: kopia zapasowa, bezpośrednie odnośniki i wymagania serwera

Ustawianie sieci zmienia pliki i bazę danych istniejącej witryny, dlatego oficjalna dokumentacja zaleca najpierw zrobić kopię zapasową, jeśli to nie jest świeżo zainstalowana witryna.

Zrób kopię zapasową bazy danych i plików, sprawdź, czy działają bezpośrednie odnośniki, a potem wyłącz wszystkie włączone wtyczki. Wtyczki włączysz z powrotem po utworzeniu sieci.

Jeśli planujesz przenieść WordPressa do osobnego folderu, zrób to przed włączeniem Multisite. Jeśli przy subdomenach używasz adresu z www, ustaw [Adres WordPressa (URL)] i [Adres witryny (URL)] tak samo, a zmianę domeny też dokończ przed instalacją.

Jeśli adres WordPressa ma numer portu inny niż :80 lub :443, nie można utworzyć sieci.

Serwer musi obsługiwać reguły przepisywania dla Multisite, a Apache potrzebuje mod_rewrite.

W konfiguracji Nginx + Apache Nginx przekazuje żądania do Apache, a Apache czyta plik .htaccess. Po zastąpieniu .htaccess regułami z ekranu ustawiania sieci witryn adresy podwitryny zaczęły się otwierać, a po stronie Nginx nie dodano żadnych reguł.

Na serwerach tylko z Nginx WordPress nie tworzy reguł przepisywania, więc konfigurację Nginx z oficjalnej dokumentacji trzeba dodać bezpośrednio do pliku konfiguracyjnego serwera.

W środowiskach, w których nie możesz sam zmienić konfiguracji serwera, na przykład na hostingu współdzielonym, warunki takie jak subdomeny wieloznaczne trzeba uzgodnić z firmą hostingową (według oficjalnej dokumentacji).

4️⃣ Kolejne kroki ustawiania sieci witryn

  • ↪️ WP_ALLOW_MULTISITE i ekran ustawiania sieci witryn

Stała [WP_ALLOW_MULTISITE] dodana do wp-config.php tylko pokazuje menu [Narzędzia] › [Ustawianie sieci witryn] — sama nie włącza Multisite. Sieć zaczyna działać dopiero po instalacji na tym ekranie i dodaniu wyświetlonych tam wierszy do wp-config.php i .htaccess.

Otwórz wp-config.php i nad komentarzem o końcu edycji dodaj wiersz, który definiuje [WP_ALLOW_MULTISITE] jako true. Komentarz o końcu edycji to wiersz /* That’s all, stop editing! Happy publishing. */; po zapisaniu odśwież przeglądarkę.

define( 'WP_ALLOW_MULTISITE', true );

Po odświeżeniu w menu [Narzędzia] pod [Usuń dane osobiste] pojawia się [Ustawianie sieci witryn], a kliknięcie otwiera ekran [Utwórz sieć witryn opartych na WordPressie].

Ekran Ustawianie sieci witryn: Ustawianie sieci witryn w menu Narzędzia po lewej · Instalacja podkatalogowa · Adres serwera · Nazwa sieci witryn · Adres email administratora sieci witryn · przycisk Instaluj

WordPress zainstalowany w podfolderze nie pokazuje pola wyboru typu adresu, tylko wiersz [Instalacja podkatalogowa]. Tekst w tym wierszu brzmi [Ponieważ twoja instalacja znajduje się w katalogu, witryny w sieci witryn WordPressa muszą używać podkatalogów.]

Sprawdź [Nazwa sieci witryn] i [Adres email administratora sieci witryn], a potem kliknij [Instaluj].

Według oficjalnej dokumentacji w instalacjach, w których można wybrać typ adresu, wybranie subdomen pokazuje komunikat o wieloznacznym DNS, a ten warunek dotyczy tylko sieci, w których użytkownicy sami tworzą witryny.

Po instalacji ekran pokazuje wiersze do wp-config.php i reguły do .htaccess dopasowane do tej witryny. Zrób kopię zapasową obu plików, wklej wiersze do wp-config.php pod wierszem [WP_ALLOW_MULTISITE], a w .htaccess zastąp dotychczasowe reguły WordPressa nowymi.

Ekran Ustawianie sieci witryn po instalacji: reguły konfiguracji sieci dla wp-config.php · reguły konfiguracji sieci dla .htaccess · odnośnik Zaloguj się

W instrukcji na ekranie po instalacji komentarz o końcu edycji jest wyświetlany w języku panelu administracyjnego, ale komentarz w pliku wp-config.php pozostaje po angielsku.

Do wp-config.php dochodzi sześć stałych, w tym [MULTISITE] i [SUBDOMAIN_INSTALL]. Wartość [SUBDOMAIN_INSTALL] to true przy subdomenach i false przy podkatalogach.

W [DOMAIN_CURRENT_SITE] i [PATH_CURRENT_SITE] znajdują się domena i ścieżka instalacji witryny. Poniżej są wiersze dla instalacji w katalogu głównym example.com z podkatalogami.

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

W tym samym przypadku reguły WordPressa w .htaccess zastępuje się poniższymi, a w wierszu [RewriteBase] znajduje się ścieżka instalacji.

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /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]

Po zapisaniu obu plików zaloguj się ponownie przez odnośnik [Zaloguj się] na ekranie — wtedy na pasku administracyjnym pod [Moje witryny] pojawi się [Administracja siecią witryn]. Jeśli logowanie się nie udaje, usuń pamięć podręczną i ciasteczka przeglądarki i zaloguj się ponownie.

Ekran menu Moje witryny: Moje witryny › Administracja siecią witryn › Kokpit · Witryny · Użytkownicy · Motywy · Wtyczki · Ustawienia na pasku administracyjnym

[Administracja siecią witryn] ma sześć menu: Kokpit, Witryny, Użytkownicy, Motywy, Wtyczki i Ustawienia, a kliknięcie [Witryny] otwiera listę witryn w sieci.

Ekran Witryny w administracji siecią: lista dwóch witryn, głównej i jednej podwitryny · przycisk Dodaj witrynę obok tytułu

Podwitryny dodaje się przez [Dodaj witrynę] obok tytułu listy albo po lewej przez [Witryny] › [Dodaj witrynę].

Ekran Dodaj witrynę: Adres witryny (URL) · Nazwa witryny · Język witryny · Adres email administratora · przycisk Dodaj witrynę

W polu [Adres witryny (URL)] można wpisać tylko małe litery, cyfry i łączniki, a jeśli [Adres email administratora] nie istnieje w bazie danych, tworzony jest nowy użytkownik.

Po dodaniu jednej podwitryny w folderze przesyłania pojawił się folder [sites/2], a w bazie danych przybyło 10 tabel z numerem witryny po prefiksie, na przykład [wp_2_].

Bezpośrednie odnośniki podwitryny nie korzystają z ustawień witryny głównej i zaczynają od domyślnej struktury z rokiem, miesiącem, dniem i nazwą wpisu, dlatego ustawia się je osobno w ustawieniach bezpośrednich odnośników podwitryny.

W symulatorze poniżej możesz kliknąć po kolei ścieżkę od [Narzędzia] › [Ustawianie sieci witryn] do [Dodaj witrynę].

🧭 Symulator ustawiania sieci witryn WordPress Multisite
wp-adminSymulator ścieżki
도구›네트워크 설치
My Site
워드프레스 사이트의 네트워크 만들기

네트워크 설치 절차에 오신 것을 환영합니다!

아래의 정보를 채우고 워드프레스 사이트의 네트워크를 만들 수 있습니다. 다음 단계에서 구성 파일을 만들 것입니다.

경고: 이 설치의 끝에 사용할 아파치 mod_rewrite 모듈을 설치했는지 확인하기 바랍니다.
네트워크 세부사항
하위 디렉터리 설치하기
설치가 디렉터리에 있기에, 워드프레스 네트워크의 사이트는 하위 디렉터리를 사용해야만 합니다.
서버 주소
네트워크의 인터넷 주소는 example.com이(가) 될 것입니다.
네트워크 제목
My Site 사이트네트워크를 무엇으로 부르는 것이 좋을까요?
네트워크 관리자 이메일
you@example.com이메일 주소입니다.
My Site
워드프레스 사이트의 네트워크 만들기
네트워크 활성화하는 중

다음 단계를 완료하여 사이트의 네트워크 만들기 기능을 활성화하세요.

주의: 기존의 wp-config.php 및 .htaccess 파일을 백업 해야합니다.
  1. /var/www/html/wp/의 wp-config.php파일에 /* 그게 다입니다. 편집을 멈추세요! 즐겁게 발행하세요. */행 위에 다음을 추가합니다:
    wp-config.php에 대한 네트워크 환경설정 규칙
    define( 'MULTISITE', true );
    define( 'SUBDOMAIN_INSTALL', false );
    define( 'DOMAIN_CURRENT_SITE', 'example.com' );
    define( 'PATH_CURRENT_SITE', '/wp/' );
    define( 'SITE_ID_CURRENT_SITE', 1 );
    define( 'BLOG_ID_CURRENT_SITE', 1 );
  2. 다른 워드프레스 규칙을 교체하는 /var/www/html/wp/의 .htaccess 파일에 다음을 넣습니다:
    .htaccess에 대한 네트워크 환경설정 규칙
    RewriteEngine On
    RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /wp/
    RewriteRule ^index\.php$ – [L]
     
    # add a trailing slash to /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]

이 단계를 완료하고나면, 네트워크를 활성화하고 구성합니다. 다시 로그인해야 합니다.

내 사이트My Site
네트워크 관리자My Site
알림판사용자테마플러그인설정
알림판
내 사이트My Site
사이트
URL등록됨사용자
example.com/wp — 메인편집 | 알림판 | 방문2026/10/271
내 사이트My Site
사이트 추가하기
사이트 주소 (URL) *
example.com/wp/site1소문자(a-z), 숫자, 그리고 하이픈만 허용합니다.
사이트 제목 *
Site 1
사이트 언어
한국어
관리자 이메일 *
you@example.com

위의 이메일 주소가 데이터베이스에 없으면 새 사용자를 만들 것입니다.
비밀번호를 설정하는 사용자 이름과 링크를 이 이메일 주소로 보낼 것입니다.

5️⃣ Kiedy Multisite się nie sprawdza

  • ↪️ Wspólne dane i użytkownicy między witrynami

Multisite pasuje tam, gdzie, jak w witrynach regionalnych, motywy i wtyczki są wspólne, a treść prowadzi się osobno. Jeśli witryny muszą ściśle współdzielić dane lub użytkowników, oficjalna dokumentacja zaznacza, że Multisite może nie być najlepszym rozwiązaniem.

Jeśli tylko wygląd ma być inny, wystarczy pojedyncza witryna z wtyczką, która zmienia motyw lub arkusz stylów. Gdy każda grupa użytkowników ma widzieć tylko inne informacje, też poradzisz sobie na pojedynczej witrynie z wtyczkami zmieniającymi uprawnienia i menu.

Najpierw sprawdź też wtyczki, których używasz. Nie każda wtyczka z katalogu wtyczek działa w Multisite, dlatego oficjalna dokumentacja zaleca sprawdzić obsługę na stronie wtyczki albo u jej autora.

🔢 FAQ & polecane treści

Od WordPressa 4.5 mapowanie domen jest podstawową funkcją Multisite, więc do podwitryny możesz podłączyć osobną domenę, na przykład example2.com. Według oficjalnej dokumentacji także wtedy kierujesz DNS domeny na IP serwera i ustawiasz serwer tak, by przekazywał tę domenę do folderu instalacji WordPressa.

Wtyczki zainstalowane na ekranie wtyczek w [Administracja siecią witryn] włącza się dla każdej witryny osobno albo od razu dla wszystkich przez [Włącz w sieci witryn]. Wtyczki włączone w sieci mają na liście wtyczek każdej witryny oznaczenie [Włączona w sieci witryn], a administratorzy witryn nie mogą ich wyłączyć. Włączenie motywu w sieci nie zmienia motywu żadnej witryny — motyw trafia tylko na listę, z której każda witryna może wybierać.

Pliki rdzenia, motywów i wtyczek są wspólne dla sieci, więc aktualizujesz je raz na ekranie aktualizacji w [Administracja siecią witryn]. Po aktualizacji rdzenia uruchom [Aktualizuj sieć witryn], co po kolei wprowadza zmiany w bazie danych każdej witryny, po pięć witryn naraz.

ℹ️ Informacja o linkach partnerskich
Treści tej witryny zawierają linki partnerskie. Jeśli odwiedzający kupi produkt lub usługę przez taki link, witryna otrzymuje od sprzedawcy prowizję. Kwota płacona przy tym przez kupującego (podczas promocji spada↓) nie wzrasta. Podane ceny, rabaty i dostępność odnoszą się do chwili pisania i mogą różnić się od stanu faktycznego, dlatego przed zakupem sprawdź je u sprzedawcy. Produkty wybieramy i oceniamy według własnych kryteriów, a prowizja nie wpływa ani na kolejność prezentacji, ani na treść ocen.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Prove your humanity: 10   +   4   =