Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Puchar WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Jak powstrzymać WordPress przed nadpisywaniem pliku .htaccess

Jeden z naszych czytelników zapytał nas ostatnio, czy możliwe jest uniemożliwienie WordPressowi nadpisywania własnego kodu w pliku .htaccess. Jest to powszechna obawa, ponieważ WordPress i różne wtyczki często dodają własne ustawienia do tego pliku konfiguracyjnego.

Jeśli dodałeś własny kod do .htaccess, to zrozumiałe jest, że martwisz się, że zostanie on nadpisany lub usunięty. Przechowywanie tego kodu w bezpiecznym miejscu zapobiegnie zakłóceniom wydajności i zabezpieczeń twojej witryny.

W tym artykule przeprowadzimy Cię przez kroki, aby powstrzymać WordPress przed nadpisywaniem pliku .htaccess. Postępując zgodnie z tymi instrukcjami, możesz zabezpieczyć swój własny konfigurator i zapewnić płynne działanie witryny internetowej bez zakłóceń.

How to Stop WordPress From Overwriting .htaccess File

Dlaczego WordPress nadpisuje plik .htaccess?

Twój plik .htaccess to potężny plik konfiguracyjny, który przechowuje ważne ustawienia dotyczące witryny internetowej WordPress. Zawiera reguły, które mówią serwerowi hostingowemu, jak obsługiwać twoją witrynę.

WordPress używa pliku .htaccess do przechowywania ustawień bezpośrednich odnośników. Za każdym razem, gdy zmienisz lub zregenerujesz swoje bezpośrednie odnośniki, WordPress automatycznie nadpisze stare ustawienia w .htaccess nowymi ustawieniami.

Niektóre wtyczki WordPress również zapisują swoje ustawienia w .htaccess. Na przykład, wtyczka W3 Total Cache zmodyfikuje twój plik .htaccess w celu skonfigurowania pamięci podręcznej i narzędzi optymalizacyjnych, które są częścią wtyczki.

Wreszcie, możesz dokonać własnych zmian w .htacess, aby kontrolować sposób działania twojej witryny internetowej. Na przykład, możesz dodać własne reguły do pliku, które zabezpieczą obszar administracyjny, ochronią twoją witrynę przed hakerami, skonfigurują przekierowania, zablokują podejrzane adresy IP i wiele więcej.

Niektórzy klienci obawiają się, że jeśli dodadzą własne konfiguratory do .htaccess, to mogą one zostać usunięte, gdy WordPress nadpisze plik nowymi ustawieniami. Inni użytkownicy wolą ręcznie skonfigurować .htaccess i nie pozwolić WordPressowi na zapisywanie do niego w ogóle.

Mając to na uwadze, przyjrzyjmy się, jak powstrzymać WordPress przed nadpisywaniem twojego pliku .htaccess. Skorzystaj z poniższych odnośników, aby przejść do interesującej Cię sekcji:

Jak powstrzymać WordPress przed nadpisywaniem twoich reguł .htaccess

Dobrą wiadomością jest to, że jeśli rozumiesz, jak działa plik .htaccess, możesz mieć pewność, że twoje własne reguły nie zostaną nadpisane.

Dzieje się tak, ponieważ obszary pliku, które zostaną zmienione przez WordPress lub twoją wtyczkę, są wyraźnie oznaczone. Po prostu upewnij się, że nie dodajesz kodu do tych obszarów.

Nie modyfikuj kodu wewnątrz znaczników WordPress

Jak powiedzieliśmy wcześniej, WordPress używa .htaccess do przechowywania ustawień przyjaznej dla SEO struktury adresów URL. Kod zapisany w tym pliku zostanie automatycznie nadpisany i zaktualizowany za każdym razem, gdy zmienisz ustawienia bezpośredniego odnośnika.

Jak widać na poniższym zrzucie ekranu, WordPress zapisuje te informacje między dwoma znacznikami, # BEGIN WordPress i # END WordPress.

WordPress Markers in .htaccess

Powiadomienie wewnątrz tych znaczników:

Dyrektywy (linie) między „BEGIN WordPress” i „END WordPress” są generowane dynamicznie i powinny być modyfikowane wyłącznie za pomocą filtrów WordPress. Wszelkie zmiany w dyrektywach między tymi znacznikami zostaną nadpisane.

Oznacza to, że WordPress nie nadpisze ani nie zmodyfikuje żadnego kodu dodanego poza tymi znacznikami. Klienci zazwyczaj dodają własny konfigurator na górze pliku, powyżej znacznika # BEGIN WordPress.

Wskazówka:.htaccess to ukryty plik znajdujący się w katalogu głównym twojej witryny WordPress. Jeśli masz trudności z jego znalezieniem, zapoznaj się z naszym przewodnikiem na temat tego, dlaczego nie możesz znaleźć pliku .htaccess na twojej witrynie WordPress.

Nie modyfikuj kodu wewnątrz znaczników twojej wtyczki

Kiedy wtyczka zapisuje swoje ustawienia w .htaccess, umieszcza je również pomiędzy znacznikami, które wyglądają jak # BEGIN Plugin i # END Plugin.

Na przykład, jeśli zainstalujesz i skonfigurujesz wtyczkę W3 Total Cache, aby poprawić szybkość i wydajność twojej witryny internetowej, to doda ona reguły do .htaccess pomiędzy znacznikami # BEGIN W3TC Browser Cache i # END W3TC Browser Cache.

Example of Plugin Markers in .htaccess

Reguły te zostaną nadpisane za każdym razem, gdy zmienisz ustawienia wtyczki, więc musisz uważać, aby nie dodawać własnych konfiguratorów .htaccess między tymi znacznikami.

Tworzenie znaczników dla twojego własnego kodu

W rzadkich przypadkach źle zachowująca się wtyczka może zmodyfikować kod poza swoimi znacznikami # BEGIN i # END. Zwykle jednak nie będzie modyfikować kodu znajdującego się pomiędzy znacznikami używanymi przez WordPress lub inne wtyczki.

Jeśli obawiasz się, że źle działająca wtyczka nadpisze twój kod, możesz dodać własne znaczniki do pliku .htaccess.

Na przykład, możesz wpisać znaczniki # BEGIN MyCustomCode i # END MyCustomCode na górze pliku .htaccess, a następnie dodać twoje własne konfiguratory pomiędzy tymi znacznikami.

You Can Create Your Own Markers in .htaccess for Your Custom Rules

Jeśli musisz również dodać kod na końcu .htaccess, możesz dodać tam inny zestaw znaczników. Pamiętaj tylko, aby nadać im różne nazwy. Na przykład, można użyć „MyCustomCodeTop” i „MyCustomCodeBottom”.

Jak powstrzymać WordPress przed modyfikowaniem .htaccess

Teraz, gdy rozumiesz, jak działa .htaccess, możesz mieć pewność, że Twój własny kod nie zostanie nadpisany przez WordPressa lub Twoje wtyczki.

Jednak niektórzy programiści i zaawansowani użytkownicy chcą powstrzymać WordPress przed wprowadzaniem jakichkolwiek zmian w .htaccess.

Na przykład, możesz chcieć utworzyć bezpośrednie odnośniki, wpisując ustawienia ręcznie w .htaccess. W takim przypadku będziesz chciał uniknąć konfliktów, uniemożliwiając WordPressowi zapisywanie własnych ustawień bezpośrednich odnośników do pliku.

Nie zalecamy tego, chyba że wiesz, co robisz, ponieważ może to prowadzić do nieoczekiwanych konsekwencji. Można to jednak zrobić, zmieniając uprawnienia pliku lub używając kodu.

Zatrzymanie WordPressa przed zmianą .htaccess przy użyciu uprawnień do plików

Jednym ze sposobów na powstrzymanie WordPressa przed modyfikowaniem .htaccess jest uczynienie pliku tylko do odczytu. Aby to zrobić, musisz zmienić uprawnienia pliku za pomocą klienta FTP lub menedżera plików dostarczonego przez dostawcę hostingu WordPress.

Plik .htaccess znajdziesz w katalogu głównym twojej instalacji WordPress. Następnie należy kliknąć plik prawym przyciskiem myszy i wybrać opcję „Uprawnienia pliku”.

Selecting File Permissions From the Menu in Your FTP Client

Spowoduje to wyświetlenie wyskakującego okienka, w którym można zmienić atrybuty pliku.

Domyślnym ustawieniem będzie 644, ale można je zmienić na 444, wpisując rodzaj bezpośrednio w polu „Wartość liczbowa” lub upewniając się, że zaznaczone są tylko pola „Odczyt”.

Changing the .htaccess File Permissions to 444 or Read-Only

Po kliknięciu przycisku „OK” plik będzie tylko do odczytu i nie będzie można go modyfikować.

Oczywiście oznacza to, że nie można również zapisywać do pliku. Jeśli chcesz wprowadzić zmiany, musisz tymczasowo ustawić uprawnienia do pliku z powrotem na 644.

Zatrzymanie WordPressa przed zmianą .htaccess za pomocą kodu

Innym rozwiązaniem jest użycie fragmentu kodu, który informuje WordPressa, aby nie zapisywał do pliku .htaccess. Jest to przydatne, jeśli chcesz uniemożliwić WordPressowi modyfikowanie .htaccess bez blokowania twoich wtyczek.

Uwaga: Edycja jakichkolwiek plików rdzeni WordPressa może być niebezpieczna. Nawet mały błąd może spowodować poważne błędy na twojej witrynie. Dlatego zalecamy tę metodę tylko zaawansowanym użytkownikom.

Wystarczy dodać następujący fragment kodu na końcu twojego pliku wp-config.php. Jeśli potrzebujesz pomocy, zapoznaj się z naszym przewodnikiem na temat edycji pliku wp-config.php w WordPress:

add_filter('got_rewrite', '__return_false');

Gdy to zrobisz, WordPress nie będzie już zapisywał danych do pliku .htaccess.

Komunikat o błędzie wyświetlany, gdy WordPress nie może zmienić .htaccess

Jeśli spróbujesz zmienić ustawienia bezpośredniego odnośnika, gdy .htaccess jest ustawiony tylko do odczytu, zostanie wyświetlony komunikat o błędzie.

Na górze strony Ustawienia ” Bezpośrednie odnośniki zobaczysz komunikat „Powinieneś teraz zaktualizować swój plik .htaccess”.

Permalink Settings Error Message When .htaccess Cannot Be Accessed

Daje to znać, że WordPress nie był w stanie zmodyfikować pliku .htaccess.

Zwykle jest to zamierzone. Jeśli jednak chcesz dodać ustawienia WordPress permalink do .htaccess, będziesz musiał zrobić to ręcznie.

Na dole strony Ustawienia Bezpośrednie odnośniki zobaczysz kolejny komunikat o błędzie informujący, że twój plik .htaccess nie jest zapisywalny. Poniżej znajdują się reguły, które należy dodać do .htaccess.

List of Rules You Will Need to Add to .htaccess Manually if Needed

Jeśli chcesz dodać te ustawienia, musisz tymczasowo zmienić uprawnienia pliku .htaccess z powrotem na 644, aby można go było edytować. Następnie należy wkleić reguły między znacznikami WordPress BEGIN i END pliku, zastępując kod już tam znajdujący się.

Po zakończeniu wystarczy ustawić wartość z powrotem na 444 i zapisać plik. Będzie on ponownie niezapisywalny.

Przewodniki ekspertów na temat .htaccess w WordPress

Mamy nadzieję, że ten poradnik pomógł ci dowiedzieć się, jak powstrzymać WordPress przed nadpisywaniem pliku .htaccess. Możesz również zapoznać się z innymi przewodnikami dotyczącymi pliku .htaccess:

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz na niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak WPBeginner jest finansowany, dlaczego to ma znaczenie i jak możesz nas wspierać. Oto nasz proces redakcyjny.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Najlepszy zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi - zbiór produktów i zasobów związanych z WordPressem, które każdy profesjonalista powinien mieć!

Reader Interactions

3 komentarzeZostaw odpowiedź

  1. Syed Balkhi

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Jiří Vaněk

    This was one of the first articles on WPBeginner when I deliberately searched for why a customer’s .htaccess was being overwritten. Now we know it, understand it, and also write .htaccess correctly. Many thanks for understanding the reason.

    • WPBeginner Support

      Glad our guide could help!

      Administrator

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszymi polityka komentarzy, a Twój adres e-mail NIE zostanie opublikowany. NIE używaj słów kluczowych w polu nazwy. Przeprowadźmy osobistą i konstruktywną rozmowę.