Co zrobić, gdy WordPress nie rozpoznaje zmian w pliku .htaccess?

Jeśli pracujesz z WordPressem, to pewnie prędzej czy później zetkniesz się z sytuacją, kiedy po zapisaniu zmian w pliku .htaccess, nic się nie dzieje. Ani poprawa struktury adresów, ani przekierowania, ani żadne inne modyfikacje. A przecież miało zadziałać. I tu zaczyna się klasyczna zagwozdka: czy to WordPress, czy serwer, czy może… Ty?

Problemy z plikiem .htaccess są nam doskonale znane. Odezwij się, a wszystko naprawimy.

Zostaw nam swoje dane, a w ciągu 24 godzin skontaktujemy się z Tobą. A jeśli zależy Ci na czasie, po prostu zadzwoń do mnie. 🙂

Project Manager
Łukasz Pietras
Project Manager
+48 501 757 664

    Dlaczego WordPress używa pliku .htaccess?

    Zanim przejdziemy do rozwiązań, warto zrozumieć, po co w ogóle WordPress korzysta z .htaccess. To plik konfiguracyjny używany przez serwery działające na oprogramowaniu Apache. Odpowiada za podstawowe ustawienia dotyczące przekierowań, uprawnień, dostępu, a także adresów URL.

    W przypadku WordPressa chodzi najczęściej o:

    • zarządzanie strukturą przyjaznych linków – tzw. permalinki;
    • przekierowania (np. z HTTP na HTTPS) – często wprowadzone ręcznie lub przez wtyczki;
    • kontrolę dostępu do plików i katalogów – np. blokowanie robotów indeksujących;
    • zabezpieczenia – jak ograniczenie edycji plików czy dostęp do panelu administracyjnego.

    Zapamiętaj!

    WordPress sam potrafi edytować .htaccess, ale… tylko wtedy, gdy mu na to pozwolisz.

    Co zrobić, gdy WordPress nie rozpoznaje zmian w pliku .htaccess?

    Gdzie najczęściej leży problem?

    Problemy dotyczące tej kwestii mają konkretne źródła:

    Brak dostępu do pliku .htaccess

    Jeden z najczęstszych powodów. Serwer może nie zezwalać WordPressowi na zapis – nawet jeśli w panelu zmienisz strukturę linków, plik nie zostanie zaktualizowany. Sprawdź prawa dostępu. Domyślnie plik .htaccess powinien mieć uprawnienia 644, a katalog, w którym się znajduje – 755. Jeśli plik jest tylko do odczytu, to WordPress nic nie zapisze, choćby bardzo chciał.

    Plik .htaccess nie istnieje

    Wiele instalacji WordPressa nie generuje pliku .htaccess automatycznie. Może zostać usunięty podczas przenosin, migracji lub przypadkowo przez użytkownika FTP.

    Jak to sprawdzić? Zaloguj się na serwer przez FTP lub menedżera plików w panelu hostingowym. Jeśli nie widzisz pliku .htaccess, utwórz go ręcznie i wklej podstawowy kod (o tym później).

    Apache nie interpretuje plików .htaccess

    Czasem problem nie tkwi w WordPressie, tylko w konfiguracji samego serwera Apache. Jeśli opcja AllowOverride w pliku httpd.conf jest ustawiona na None, Apache zignoruje .htaccess całkowicie. To jednak opcja dostępna tylko przy pełnej administracji serwerem (czyli VPS lub serwer dedykowany). Na hostingu współdzielonym nie masz do tego dostępu, ale warto zapytać o to swojego usługodawcę.

    Błąd w samej treści pliku

    Niektóre zmiany – zwłaszcza te dodawane ręcznie – zawierają błędy składni. A Apache nie lubi błędów. Wystarczy jedno niedomknięte polecenie lub niepoprawna ścieżka i cały plik zostanie zignorowany. Co ważne, Apache nie zgłasza tego otwarcie – po prostu działa tak, jakby pliku nie było.

    Podobne: Certyfikat SSL – co to jest i dlaczego jest tak ważny?

    Jak sprawdzić, czy WordPress widzi plik .htaccess?

    W celu sprawdzenia, czy WordPress widzi plik .htaccess:

    Zmień strukturę linków

    To najprostszy test. W panelu WordPressa wejdź w „Ustawienia” → „Bezpośrednie odnośniki” i wybierz inną opcję, np. „Nazwa wpisu”. Zapisz zmiany. Jeśli po odświeżeniu strony struktura adresów się zmieni – plik .htaccess działa. Jeśli nie – mamy problem.

    Edytuj ręcznie i przetestuj przekierowanie

    Dodaj tymczasowe przekierowanie na samym początku pliku:

    Następnie wejdź na twojadomena.pl/test-strona. Jeśli nie zostaniesz przekierowany, .htaccess nie jest aktywny.

    Podstawowa zawartość pliku .htaccess dla WordPressa

    Czasem wystarczy przywrócić domyślną wersję pliku, żeby wszystko zaczęło działać, jak należy.

    Uniwersalna zawartość .htaccess, jaką generuje sam WordPress:

    Jeśli Twój plik wygląda inaczej lub brakuje któregoś z tych fragmentów – warto go przywrócić. Oczywiście, zanim to zrobisz, zawsze zrób kopię zapasową.

    Co, jeśli wszystko wygląda dobrze, a nadal nie działa?

    Bywa, że wszystko wygląda poprawnie: plik istnieje, prawa dostępu są odpowiednie, kod jest poprawny, a mimo to… WordPress ignoruje zmiany. Sprawdźmy bardziej zaawansowane przypadki.

    Wtyczki modyfikujące .htaccess bez Twojej wiedzy

    W ekosystemie WordPressa działa obecnie ponad 59 tysięcy wtyczek (dane z katalogu WordPress.org – kwiecień 2025). Część z nich ma dostęp do pliku .htaccess i go edytuje – często automatycznie, bez wyraźnego komunikatu.

    Przykłady?

    • wtyczki do buforowania (np. WP Super Cache);
    • narzędzia do optymalizacji SEO;
    • rozszerzenia zabezpieczające logowanie;
    • rozwiązania do obsługi przekierowań.

    Problem pojawia się wtedy, gdy jedna wtyczka nadpisuje zmiany wprowadzone przez inną. Albo gdy kasuje fragmenty kodu WordPressa. W efekcie Twoje ręczne zmiany mogą znikać po każdej aktualizacji lub nawet po zwykłym kliknięciu „Zapisz ustawienia”.

    W takiej sytuacji warto:

    • tymczasowo dezaktywować wszystkie wtyczki – i testować .htaccess przy czystej instalacji;
    • aktywować wtyczki jedna po drugiej – sprawdzając, czy któraś nadpisuje plik;
    • szukać w dokumentacji – często autorzy wtyczek informują, że ich narzędzie ingeruje w .htaccess.

    Konflikty z regułami serwera

    Niektóre serwery mają własne reguły narzucane nad DocumentRoot, czyli katalogiem, w którym działa Twój WordPress. To tzw. globalne reguły Apache. Działają one niezależnie od pliku .htaccess w Twojej witrynie i mogą go nadpisywać.

    Przykład? Masz regułę przekierowującą cały ruch na HTTPS w .htaccess, ale Twoja witryna nadal działa w HTTP. Dlaczego? Bo serwer wcześniej wykonuje własne przekierowanie – na przykład oparte na innej logice lub wymuszające konkretny certyfikat.

    Reguły .htaccess do przetestowania:

    Nie masz bezpośredniego dostępu do tych reguł, ale możesz:

    • zapytać hostingodawcę, czy stosują nadrzędne reguły w konfiguracji Apache;
    • przenieść stronę na testowy serwer VPS i porównać działanie .htaccess;
    • skorzystać z dzienników serwera – jeśli hosting je udostępnia.

    Jak nie zgubić się w domysłach? Poznaj prosty plan działania!

    Zanim stracisz kilka godzin na eksperymenty, podejdź do tematu metodycznie. Poniżej przedstawiamy prosty plan działania:

    1. Sprawdź fizyczne istnienie pliku – czy .htaccess w ogóle jest w katalogu głównym?
    2. Zbadaj uprawnienia – zarówno pliku, jak i folderu. Plik: 644, katalog: 755.
    3. Wyczyść bufor przeglądarki i serwera – czasem efekty są opóźnione przez cache.
    4. Wyłącz wszystkie wtyczki – szczególnie te wpływające na przekierowania lub bezpieczeństwo.
    5. Zastosuj prostą regułę testową – np. tymczasowe przekierowanie jednej podstrony.
    6. Sprawdź logi błędów serwera – mogą ujawnić np. błędy składni w .htaccess.
    7. Utwórz czysty plik z domyślnymi regułami WordPressa – i testuj na nim zmiany.

    Jakie są alternatywy dla .htaccess?

    Jeśli z jakiegoś powodu nie możesz korzystać z .htaccess, rozważ inne możliwości:

    • plik web.config – dla serwerów IIS (Windows), działający podobnie do .htaccess;
    • konfiguracja nginx – jeśli używasz serwera bez Apache, np. na VPS;
    • przekierowania z poziomu PHP – rozwiązanie tymczasowe, ale czasem wystarczające;
    • konfiguracja DNS – w przypadku niektórych przekierowań, choć ma ograniczenia.

    Nie są to jednak rozwiązania uniwersalne i wymagają więcej wiedzy technicznej – ale warto wiedzieć, że istnieją.

    W razie pomocy pozostajemy do Twojej dyspozycji. Skontaktuj się z ekipą Zdobywcy Sieci już dziś!

      Hej! Potrzebujesz pomocy lub chcesz skorzystać z naszej oferty?

      Już od 8 lat pomagamy firmom zdobywać klientów w sieci. Sprawdź naszą ofertę:

      Project Manager

      Łukasz Pietras
      Project Manager
      dostępny

      Napisz na info@zdobywcysieci.pl lub zadzwoń pod numer 501-757-664, żeby omówić warunki współpracy. Możesz także zostawić kontakt do siebie, a oddzwonię w ciągu 24 godzin. Czekam na kontakt :)