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ń.
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
.
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
.
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.
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”.
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”.
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”.
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.
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:
- Słowniczek: .htaccess
- Jak poprawić plik .htaccess WordPressa (przewodnik dla początkujących)
- Najbardziej przydatne sztuczki .htaccess dla WordPress
- Dlaczego nie możesz znaleźć pliku .htaccess na twojej witrynie WordPress?
- Jak dodać nagłówki zabezpieczeń HTTP w WordPress (przewodnik dla początkujących)
- Jak dodać nagłówki Expires w WordPress
- Przewodnik dla początkujących po rozwiązywaniu błędów WordPressa (krok po kroku)
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.
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!
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