Niedawno jeden z naszych czytelników zapytał, czy możliwe jest powstrzymanie WordPressa przed nadpisaniem niestandardowego kodu w twoim pliku .htaccess?
WordPress wraz z kilkoma wtyczkami dodaje niestandardowe ustawienia do pliku konfiguracyjnego .htaccess. Jeśli dodałeś swój własny niestandardowy kod do .htaccess, to możesz się martwić, że zostanie on nadpisany lub usunięty.
W tym artykule pokażemy Ci, jak powstrzymać WordPressa przed nadpisaniem pliku .htaccess.
Dlaczego WordPress nadpisuje plik .htaccess?
Twój plik .htaccess to potężny plik konfiguracyjny, który przechowuje ważne ustawienia dotyczące Twojej witryny WordPress. Zawiera on reguły, które mówią serwerowi hostingowemu, jak obsługiwać Twoją witrynę.
WordPress używa pliku .htaccess do przechowywania swoich ustawień permalinka. Ilekroć zmienisz lub zregenerujesz swoje permalinki, WordPress automatycznie nadpisze stare ustawienia w .htaccess nowymi ustawieniami.
Niektóre wtyczki WordPressa również zapisują swoje ustawienia w .htaccess. Na przykład wtyczka W3 Total Cache zmodyfikuje twój plik .htaccess, aby skonfigurować narzędzia do buforowania i optymalizacji, które są częścią wtyczki.
Wreszcie, możesz wprowadzić własne niestandardowe zmiany w .htacess, aby kontrolować sposób działania swojej witryny. Na przykład możesz dodać niestandardowe reguły do pliku, które chronią twój obszar administracyjny, utrzymują twoją witrynę bezpieczną od hakerów, ustawiają przekierowania, zakazują podejrzanych adresów IP i więcej.
Niektórzy użytkownicy obawiają się, że jeśli dodadzą własne niestandardowe reguły 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 w ogóle do niego pisać.
Mając to na uwadze, przyjrzyjmy się, jak powstrzymać WordPressa od nadpisywania twojego pliku .htaccess. Po prostu użyj szybkich linków poniżej, aby przejść do sekcji, którą jesteś zainteresowany.
How to Stop WordPress From Overwriting Your .htaccess Rules
Dobrą wiadomością jest to, że jeśli rozumiesz, jak działa plik .htaccess, to możesz być pewien, że Twoje niestandardowe reguły nie zostaną nadpisane.
To dlatego, że obszary pliku, które będą zmieniane przez WordPressa lub Twoje wtyczki są wyraźnie oznaczone. Po prostu upewnij się, że nie dodajesz kodu do tych obszarów.
Don’t Modify Code Inside the WordPress Markers
Jak powiedzieliśmy wcześniej, WordPress używa .htaccess do przechowywania ustawień dla przyjaznej dla SEO struktury URL. Kod, który zapisuje do pliku, zostanie automatycznie nadpisany i zaktualizowany, gdy tylko zmienisz ustawienia permalinka.
Jak widać na poniższym zrzucie ekranu, WordPress zapisuje te informacje pomiędzy dwoma znacznikami, # BEGIN WordPress i # END WordPress.
Zauważ ostrzeżenie wewnątrz tych znacz
ników:
Dyrektywy (linie) pomiędzy „BEGIN WordPress” i „END WordPress” są generowane dynamicznie i powinny być modyfikowane tylko poprzez filtry WordPressa. Wszelkie zmiany w dyrektywach pomiędzy tymi znacznikami zostaną nadpisane.
Oznacza to, że WordPress nie nadpisze ani nie zmodyfikuje żadnego kodu dodanego poza tymi znacznikami. Użytkownicy zazwyczaj dodają swój niestandardowy kod na górze pliku, powyżej znacznika # BEGIN WordPress.
Don’t Modify Code Inside Your Plugins’ Markers
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ść witryny, to doda ona reguły do .htaccess między znacznikami # BEGIN W3TC Browser Cache i # END W3TC Browser Cache.
Te reguły zostaną nadpisane za każdym razem, gdy zmienisz ustawienia wtyczki, więc musisz uważać, aby nie dodać własnych niestandardowych reguł .htaccess między tymi znacznikami.
Tworzenie znaczników dla własnego kodu
W rzadkich przypadkach, źle zachowująca się wtyczka może zmodyfikować kod poza swoimi znacznikami # BEGIN i # END. Jednak zazwyczaj nie będzie modyfikować kodu znajdującego się między znacznikami używanymi przez WordPressa lub inne wtyczki.
Jeśli obawiasz się, że źle zachowująca się wtyczka nadpisze Twój kod, to możesz dodać własne znaczniki do pliku .htaccess.
Na przykład możesz wpisać # BEGIN MyCustomCode i # END MyCustomCode znaczniki na górze pliku .htaccess, a następnie dodać własne niestandardowe reguły pomiędzy tymi znacznikami.
Jeśli potrzebujesz również dodać kod na koniec .htaccess, to możesz dodać tam inny zestaw znaczników. Tylko pamiętaj, aby nadać im różne nazwy. Na przykład możesz użyć „MyCustomCodeTop” i „MyCustomCodeBottom”.
Jak powstrzymać WordPressa przed modyfikacją .htaccess
Teraz, gdy rozumiesz, jak działa .htaccess, możesz być pewien, że twój niestandardowy kod nie zostanie nadpisany przez WordPressa lub twoje wtyczki.
Jednak niektórzy programiści i zaawansowani użytkownicy chcą powstrzymać WordPressa od wprowadzania jakichkolwiek zmian w .htaccess.
Na przykład mogą chcieć tworzyć permalinki, wpisując ustawienia ręcznie do .htaccess. W tym przypadku będą chcieli uniknąć konfliktów, zatrzymując WordPress od zapisywania własnych ustawień permalinkó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.
Stopping WordPress From Changing .htaccess Using File Permissions
Jednym ze sposobów na powstrzymanie WordPressa przed modyfikacją .htaccess jest uczynienie pliku tylko do odczytu. Aby to zrobić, musisz zmienić uprawnienia do pliku za pomocą klienta FTP lub menedżera plików dostarczonego przez dostawcę hostingu WordPress.
Plik .htaccess znajdziesz w katalogu głównym swojej instalacji WordPress. Następnie powinieneś kliknąć plik prawym przyciskiem myszy i wybrać „Uprawnienia do pliku”.
Spowoduje to wyświetlenie okienka, w którym możesz zmienić atrybuty pliku.
Domyślnym ustawieniem będzie 644, ale można to zmienić na 444 wpisując bezpośrednio w pole „Wartość liczbowa” lub upewniając się, że tylko pola „Odczyt” są zaznaczone.
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. Kiedy będziesz chciał dokonać zmian, będziesz musiał tymczasowo ustawić uprawnienia do pliku z powrotem na 644.
Stopping WordPress From Changing .htaccess Using Code
Innym rozwiązaniem jest użycie snippet kodu, który pozwala WordPressowi wiedzieć, aby nie pisać do pliku .htaccess. Jest to przydatne, jeśli chcesz powstrzymać WordPressa przed modyfikacją .htaccess bez blokowania swoich wtyczek.
Uwaga: Edytowanie jakichkolwiek plików core WordPressa może być niebezpieczne. Nawet mały błąd może spowodować poważne błędy w Twojej witrynie. Dlatego zalecamy tę metodę tylko dla zaawansowanych użytkowników.
Wystarczy dodać następujący fragment kodu na końcu yopliku wp-config.php. Jeśli potrzebujesz pomocy, to zapoznaj się z naszym przewodnikiem jak edytować plik wp-config.php w WordPressie.
add_filter(’got_rewrite’, '__return_false’);
Gdy już to zrobisz, WordPress nie będzie już zapisywał do pliku .htaccess
.
Komunikat o błędzie wyświetlany, gdy WordPress nie może zmienić .ht
access
Jeśli spróbujesz zmienić ustawienia permalinka, gdy .htaccess jest ustawiony tylko do odczytu, to wyświetli się komunikat o błędzie
.
Na górze strony Ustawienia ” Permalinki, zobaczysz komunikat „Powinieneś zaktualizować swój plik .htaccess teraz.
Dzięki temu wiesz, że WordPress nie był w stanie zmodyfikować pliku .htaccess.
Zazwyczaj jest to to, co zamierzałeś. Jeśli jednak chcesz dodać ustawienia permalinka WordPressa do .htaccess, to będziesz musiał zrobić to ręcznie.
Na dole strony Ustawienia ≫ Permalinki zobaczysz kolejny komunikat o błędzie mówiący, że Twój plik .htaccess nie jest zapisywalny. Pod nim zobaczysz reguły, które należy dodać do .htaccess.
Jeśli chcesz dodać te ustawienia, to musisz tymczasowo zmienić uprawnienia pliku .htaccess z powrotem na 644, aby można było go edytować. Następnie należy wkleić reguły pomiędzy znacznikami WordPress BEGIN i END pliku, zastępując kod już tam znajdujący się.
Kiedy skończysz, po prostu ustaw wartość z powrotem na 444 i zapisz plik. Po raz kolejny będzie on nie do zapisania.
Mamy nadzieję, że ten tutorial pomógł Ci dowiedzieć się, jak powstrzymać WordPressa przed nadpisaniem pliku .htaccess. Możesz również dowiedzieć się, jak dodać powiadomienie push w WordPressie i sprawdzić naszą ekspercką listę najlepszych wtyczek i narzędzi WordPress SEO.
Jeśli podobał Ci się ten artykuł, to zasubskrybuj nasz kanał YouTube dla tutoriali wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.