WordPress

Jak zatrzymać WordPress przed nadpisaniem pliku .htaccess

  • 23 lutego, 2023
  • 7 min read
Jak zatrzymać WordPress przed nadpisaniem pliku .htaccess


Niedawno jeden z naszych czytelników zapytał, czy można powstrzymać WordPress przed nadpisywaniem niestandardowego kodu w pliku .htaccess?

WordPress wraz z kilkoma wtyczkami dodaje niestandardowe ustawienia do pliku konfiguracyjnego .htaccess. Jeśli dodałeś własny, niestandardowy kod do .htaccess, możesz się martwić, że zostanie nadpisany lub usunięty.

W tym artykule pokażemy, jak powstrzymać WordPress przed nadpisaniem pliku .htaccess.

Jak zatrzymać WordPress 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 reguły, które informują serwer hostingowy, jak obsługiwać witrynę.

WordPress używa pliku .htaccess do przechowywania ustawień łącza bezpośredniego. Za każdym razem, gdy zmienisz lub zregenerujesz swoje permalinki, WordPress automatycznie nadpisze stare ustawienia w .htaccess nowymi ustawieniami.

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

Wreszcie, możesz wprowadzić własne niestandardowe zmiany w .htcess, aby kontrolować działanie swojej witryny. Na przykład możesz dodać niestandardowe reguły do ​​pliku, które chronią obszar administracyjny, zabezpieczają witrynę przed hakerami, konfigurują przekierowania, blokują podejrzane adresy IP i nie tylko.

Niektórzy użytkownicy obawiają się, że jeśli dodadzą własne niestandardowe reguły do ​​.htaccess, mogą zostać usunięte, gdy WordPress nadpisze plik nowymi ustawieniami. Inni użytkownicy wolą ręcznie konfigurować .htaccess i w ogóle nie pozwalać WordPressowi na zapisywanie do niego.

Mając to na uwadze, przyjrzyjmy się, jak powstrzymać WordPress przed nadpisaniem pliku .htaccess. Po prostu skorzystaj z poniższych szybkich łączy, aby przejść do interesującej Cię sekcji.

Jak zatrzymać WordPress przed nadpisaniem reguł .htaccess

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

To dlatego, że obszary pliku, które zostaną zmienione przez WordPress lub Twoje wtyczki, są wyraźnie oznaczone. Po prostu upewnij się, że nie dodajesz kodu do tych obszarów.

Warto przeczytać!  Metoda ajax jQuery nie zwraca danych

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 pliku zostanie automatycznie nadpisany i zaktualizowany za każdym razem, gdy zmienisz ustawienia bezpośredniego łącza.

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

Markery WordPress w .htaccess

Zwróć uwagę na ostrzeżenie wewnątrz tych znaczników:

Dyrektywy (wiersze) między „BEGIN WordPress” a „END WordPress” są generowane dynamicznie i powinny być modyfikowane tylko 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. Użytkownicy zwykle dodają swój niestandardowy kod na początku pliku, nad plikiem # BEGIN WordPress znacznik.

Nie modyfikuj kodu wewnątrz znaczników wtyczek

Kiedy wtyczka zapisuje swoje ustawienia w .htaccess, umieszcza je również mię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ść swojej witryny, doda ona reguły do ​​.htaccess między # BEGIN W3TC Browser Cache I # END W3TC Browser Cache znaczniki.

Przykład znaczników wtyczek w .htaccess

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

Tworzenie znaczników dla własnego kodu

W rzadkich przypadkach źle działająca wtyczka może modyfikować kod poza swoim # BEGIN I # END znaczniki. Jednak zwykle nie modyfikuje kodu znalezionego mię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ć # BEGIN MyCustomCode I # END MyCustomCode znaczniki na górze pliku .htaccess, a następnie dodaj własne niestandardowe reguły między tymi znacznikami.

Możesz tworzyć własne znaczniki w .htaccess dla własnych reguł

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

Warto przeczytać!  Naruszenie bloku z domyślnymi wartościami atrybutów i zapytanie nie działa

Jak zatrzymać WordPress przed modyfikacją .htaccess

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

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

Na przykład mogą chcieć utworzyć bezpośrednie łącza, wpisując ustawienia ręcznie w .htaccess. W takim przypadku będą chcieli uniknąć konfliktów, powstrzymując WordPress przed zapisaniem własnych ustawień łącza bezpośredniego 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 do pliku lub używając kodu.

Powstrzymywanie WordPress przed zmianą .htaccess przy użyciu uprawnień do plików

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

Plik .htaccess znajdziesz w katalogu głównym instalacji WordPress. Następnie kliknij plik prawym przyciskiem myszy i wybierz „Uprawnienia do pliku”.

Wybieranie uprawnień do plików z menu w kliencie FTP

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

Domyślne ustawienie to 644, ale możesz je zmienić na 444, wpisując bezpośrednio w polu „Wartość liczbowa” lub upewniając się, że zaznaczone są tylko pola „Odczyt”.

Zmiana uprawnień do pliku .htaccess na 444 lub tylko do odczytu

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

Oczywiście będzie to oznaczać, że nie będziesz mógł również zapisywać do pliku. Jeśli chcesz wprowadzić zmiany, musisz tymczasowo ustawić uprawnienia do pliku z powrotem na 644.

Powstrzymywanie WordPress przed zmianą .htaccess za pomocą kodu

Innym rozwiązaniem jest użycie fragmentu kodu, który informuje WordPress, aby nie zapisywał do pliku .htaccess. Jest to przydatne, jeśli chcesz powstrzymać WordPress przed modyfikowaniem .htaccess bez blokowania wtyczek.

Warto przeczytać!  Dlaczego mój pasek nawigacyjny Bootstrap 5 nie wyświetla rozwijanego menu na mniejszych ekranach?

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

Po prostu dodaj następujący fragment kodu na końcu pliku wp-config.php. Jeśli potrzebujesz pomocy, zapoznaj się z naszym przewodnikiem dotyczącym edytowania pliku wp-config.php w WordPress.

add_filter('got_rewrite', '__return_false');

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

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

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

Na górze Ustawienia » Linki bezpośrednie zobaczysz komunikat „Powinieneś teraz zaktualizować swój plik .htaccess”.

Komunikat o błędzie ustawień łącza bezpośredniego, gdy nie można uzyskać dostępu do pliku .htaccess

Dzięki temu dowiesz się, że WordPress nie mógł zmodyfikować pliku .htaccess.

Zwykle o to ci chodziło. Jeśli jednak chcesz dodać ustawienia łącza bezpośredniego WordPress do .htaccess, musisz to zrobić ręcznie.

Na dole Ustawienia ≫ Linki bezpośrednie zobaczysz kolejny komunikat o błędzie informujący, że plik .htaccess nie jest zapisywalny. Poniżej zobaczysz reguły, które należy dodać do .htaccess.

Lista reguł, które musisz ręcznie dodać do .htaccess w razie potrzeby

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

Kiedy skończysz, po prostu ustaw wartość z powrotem na 444 i zapisz plik. Znowu będzie nie do napisania.

Mamy nadzieję, że ten samouczek pomógł ci dowiedzieć się, jak powstrzymać WordPress przed nadpisaniem pliku .htaccess. Możesz także dowiedzieć się, jak dodawać powiadomienia push w WordPress i sprawdzić naszą listę ekspertów najlepszych wtyczek i narzędzi SEO WordPress.

Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube, aby zobaczyć samouczki wideo WordPress. Możesz nas również znaleźć na Świergot i Facebooka.




Źródło