Kompletny przewodnik po pliku .htaccess WordPress

Opublikowany: 2022-08-10

Naprawdę nie jestem łatwy do zrozumienia: mój domyślny kod wygląda jak chiński.

Wyróżniam się swoim osobliwym wyglądem, ponieważ moje imię nie ma rozszerzenia.

Mam też magiczne moce. Jeśli skonfigurujesz mnie poprawnie, jestem w stanie wykonać następujące czynności:

  • Poprawa bezpieczeństwa Twojej witryny.
  • Zwiększenie szybkości ładowania Twoich stron.
  • Konfigurowanie przekierowań.
  • Ograniczanie spamu.
  • A nawet kilka żartów: to moja bezczelna strona.
Naprawdę?!
Żarty? Naprawdę?

Nadal nie wiesz kim jestem? Jestem plikiem .htaccess Twojej witryny WordPress. Poznajmy mnie lepiej w tym poradniku o tym, jak pracuję.

W tych wierszach odkryjesz ponad trzydzieści wskazówek dotyczących konfiguracji mnie. Są one zmaterializowane w postaci gotowych do użycia fragmentów kodu, które wystarczy skopiować i wkleić w domu.

Czytaj dalej, nie zawiedziesz się!

Przegląd

  1. Co to jest plik .htaccess?
    1. Jak działają pliki .htaccess?
      1. Jak utworzyć plik .htaccess
        1. Środki ostrożności przed dostosowaniem pliku .htaccess
          1. Jak poprawnie zmodyfikować plik .htaccess.
            1. Jak dostosować plik .htaccess w katalogu głównym witryny?
              1. Jak dostosować plik .htaccess w wp-admin
                1. Jak dostosować plik .htaccess w wp-includes?
                  1. Jak dostosować plik .htaccess w wp-content?
                    1. Jak dostosować plik .htaccess w wp-content/uploads?
                      1. Ostateczne podsumowanie pliku .htacess w WordPress

                        Artykuł, pierwotnie napisany w październiku 2015 r., został ostatnio zaktualizowany w lipcu 2022 r.

                        Twoje najlepsze projekty WordPress potrzebują najlepszego hosta!

                        WPMarmite poleca Bluehost: świetna wydajność, świetne wsparcie. Wszystko, czego potrzebujesz na dobry początek.

                        Wypróbuj Bluehost
                        CTA Bluehost WPMarmite

                        Co to jest plik .htaccess?

                        Plik .htaccess to plik konfiguracyjny dla Apache, oprogramowania używanego do uruchamiania większości serwerów internetowych. Zawartość tego pliku przekaże Apache dyrektywy, aby serwer zachowywał się w określony sposób.

                        Uwaga, niektóre hosty internetowe działają tylko na serwerze NGINX. Tak jest na przykład w przypadku koła zamachowego. Nie mają pliku .htaccess .

                        Prawie wszystkie strony internetowe korzystające z WordPressa mają plik .htaccess . W rzeczywistości WordPress tworzy go automatycznie podczas instalacji, aby uwzględnić ustawienia permalinków dla witryny.

                        Po przejściu do Ustawienia> Permalinki , aby wybrać format adresu URL (zwykle „Nazwa posta”), plik .htaccess jest modyfikowany.

                        Jak działają pliki .htaccess?

                        Powinieneś wiedzieć, że strona internetowa może mieć kilka plików .htaccess .

                        Po pierwsze, istnieje główny plik .htaccess , znajdujący się w katalogu głównym witryny.

                        Katalog główny witryny to miejsce, w którym na serwerze znajdują się pliki WordPress ( wp-admin , wp-includes i wp-content foldery oraz kilka innych plików). Możesz uzyskać do nich dostęp, łącząc się na przykład z klientem FTP. Nazwa tego folderu głównego może się różnić w zależności od dostawcy hostingu. Na przykład nazywa się to public_html z Bluehost (link afiliacyjny) i www z OVH.

                        Zawartość głównego pliku .htaccess wpłynie na całą witrynę.

                        Inne pliki .htaccess można tworzyć w podkatalogach. W przypadku WordPressa można go umieścić np. w katalogu wp-admin lub wp-content/uploads .

                        Dodatkowe pliki .htaccess wpłyną na katalogi, w których się znajdują, a także ich podkatalogi.

                        Jeśli wyobrazimy sobie, że plik .htaccess jest obecny w wp-content/uploads , na katalog uploads i wszystkie jego podkatalogi będzie miało wpływ to, co jest zdefiniowane w pliku .htaccess .

                        Jak utworzyć plik .htaccess

                        Logicznie rzecz biorąc, Twoja witryna powinna mieć co najmniej jeden plik .htaccess , ten znajdujący się w katalogu głównym witryny. Możesz go edytować za pomocą ulubionego edytora kodu (Sublime Text, Brackets, Notepad++, Coda itp.).

                        Istnieją inne rozwiązania, takie jak wtyczka Htaccess File Editor, aby edytować ją bezpośrednio z pulpitu WordPress.

                        Ale jeśli pojawią się jakieś problemy, będziesz musiał przejść przez swojego klienta FTP i edytor kodu, więc równie dobrze możesz zrobić to bezpośrednio ręcznie.

                        Jeśli chcesz dodać plik .htaccess do podkatalogu, postępuj zgodnie z tymi instrukcjami.

                        Utwórz plik .htaccess ze swojego komputera

                        1. Utwórz nowy plik tekstowy i nazwij go htaccess.txt .
                        2. Edytuj go, jak chcesz.
                        3. Wyślij go do katalogu głównego serwera.
                        4. Zmień jego nazwę na .htaccess .
                        Plik .htaccess w oprogramowaniu FTP.

                        Utwórz plik .htaccess ze swojego serwera

                        1. Kliknij prawym przyciskiem myszy katalog, w którym powinien być.
                        2. Dodaj nowy plik i nazwij go .htaccess.
                        3. Edytuj go za pomocą edytora kodu (Notepad++, Coda, Sublime Text lub inny).

                        Gratulacje, już wiesz, do czego służy plik .htaccess i jak go utworzyć. Zanim dowiesz się, jakie wskazówki możesz do niego dodać, pamiętaj o ostrożności!

                        Uważaj na oczy, może pieczeć!

                        Środki ostrożności przed dostosowaniem pliku .htaccess

                        Dostosowywanie kodu pliku .htaccess jest dość proste (zwłaszcza z fragmentami kodu oferowanymi w dalszej części tego artykułu), ale nadal nie powinieneś wchodzić w to z płonącymi pistoletami.

                        Przed wprowadzeniem jakichkolwiek zmian zalecam wykonanie kopii zapasowej witryny WordPress. W tym celu możesz użyć dedykowanej wtyczki, takiej jak UpdraftPlus.

                        Następnie zapisz początkową zawartość pliku .htaccess . Aby to zrobić, możesz:

                        • Zduplikuj plik .htaccess na serwerze do pliku .htaccess-initial .
                        • Skopiuj zawartość pliku do pliku tekstowego na swoim komputerze.

                        Jeśli masz problem, możesz łatwo przywrócić oryginalną zawartość.

                        Jak poprawnie zmodyfikować plik .htaccess.

                        Aby wprowadzić jakiekolwiek zmiany, postępuj zgodnie z poniższą procedurą:

                        • Otwórz plik w edytorze kodu.
                        • Umieść swoje uzupełnienia w pliku.
                        • Zapisz to.
                        • Zaktualizuj swoją witrynę, aby sprawdzić, czy wszystko jest w porządku.

                        Odświeżenie witryny jest bardzo ważne: pomoże sprawdzić, czy nie ma problemów z dodanym kodem.

                        Ogólnie na ekranie pojawi się błąd 500 „Wewnętrzny błąd serwera”, jeśli wystąpi problem:

                        500 Przykład błędu wewnętrznego serwera.

                        W takim przypadku cofnij zmiany i zapisz ponownie. Wszystko powinno wrócić do normy.

                        Czasami niektóre hosty nie akceptują określonego kodu w pliku .htaccess

                        Będziesz musiał sobie z tym poradzić.

                        Skontaktuj się z obsługą klienta swojego gospodarza, aby dowiedzieć się więcej. Miejmy nadzieję, że wystarczy niewielka modyfikacja, aby działała.

                        Czy występuje błąd WordPress, taki jak typowy i powszechny błąd 500? WPMarmite oferuje obszerny przewodnik po rozwiązywaniu głównych.

                        Tym razem wszystko jest w porządku. Wiesz, jak działa plik .htaccess , jak go poprawnie tworzyć i edytować.

                        Teraz dowiedz się, jak dostosować go w 5 różnych miejscach:

                        1. W katalogu głównym witryny
                        2. W wp-admin
                        3. W wp-includes
                        4. W wp-content
                        5. W wp-content/uploads

                        Zacznijmy od razu od katalogu głównego strony. Zobaczysz, to będzie najbardziej spójny kawałek.

                        Jak w każdym języku komputerowym, plik .htaccess umożliwia dodawanie komentarzy. Aby to zrobić, po prostu umieść symbol # na początku linii, aby linia została zignorowana. Jest to bardzo przydatne do zapamiętania, jakie wiersze kodu wykonują. Zobaczysz komentarze w przykładach w tym artykule.

                        Jak dostosować plik .htaccess w katalogu głównym witryny?

                        Jeśli instalacja przebiegła pomyślnie, w katalogu głównym witryny znajdziesz plik .htaccess . Będzie zawierać następujący kod:

                         # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\. php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
                        Domyślny kod pliku .htaccess WordPress

                        Jeśli korzystasz z WordPressa w trybie wielostanowiskowym, domyślny kod pliku .htaccess będzie inny. W większości przypadków nie wpłynie to na Ciebie.

                        Teraz, gdy już znalazłeś ten plik, możesz ulepszyć jego zawartość za pomocą poniższych fragmentów kodu, aby wykonać kilka konkretnych rzeczy. Może to dotyczyć bezpieczeństwa, ale także innych rzeczy.

                        Pamiętaj, aby nie umieszczać żadnego kodu między komentarzami # BEGIN WordPress i # END WordPress , ponieważ może się zdarzyć, że ten kod zostanie zmodyfikowany w niektórych przypadkach.

                        Kolejne przypomnienie: zapisz oryginalny plik .htaccess przed wprowadzeniem jakichkolwiek zmian. Musisz mieć możliwość powrotu, jeśli masz jakiekolwiek problemy.

                        Wyłącz wyświetlanie katalogów

                        Domyślnie, jeśli spróbujesz uzyskać dostęp do katalogów witryny, serwer je wyświetli. Formatowanie będzie wyglądać tak:

                        Indeks /wp-zawiera

                        Możesz sobie wyobrazić, że to chleb powszedni dla hakerów. Fakt, że widzą pliki w Twojej witrynie, pomoże im lepiej ją zaatakować. Wstaw następujący kod do pliku .htaccess , aby chronić swoją witrynę:

                         # Disable display of directory contents Options All -Indexes

                        Możliwe jest również użycie tego kodu, aby zapobiec wyświetlaniu katalogu:

                         # Alternative to prevent directory listing IndexIgnore *

                        Ukryj informacje o serwerze

                        W przypadku niektórych dostawców usług hostingowych wyświetlane strony mogą zawierać informacje o serwerze. Te informacje mogą dać szczegółowe informacje potencjalnym napastnikom.

                        Dlatego najlepiej je ukryć za pomocą następującego kodu:

                         # Hide the information from server ServerSignature Off

                        Włącz następujące dowiązania symboliczne

                        Muszę z tobą rozmawiać kompletny bełkot, ale ważne jest, aby wstawić ten wiersz kodu do głównego pliku .htaccess :

                         # Enable following symbolic links Options +FollowSymLinks

                        Umożliwi to twojemu serwerowi śledzenie tak zwanych dowiązań symbolicznych, czyli krótkich kodów.

                        Ustaw serwer na poprawną godzinę

                        Nie jest to naprawdę ważne, ale jeśli Twój serwer jest za granicą, możesz ustawić go na Twoją strefę czasową za pomocą tego wiersza kodu:

                         # Choose time zone SetEnv TZ America/New_York

                        Ustaw domyślne kodowanie znaków

                        Poniższy kod umożliwia ustawienie kodowania znaków dla plików tekstowych i HTML jako UTF-8 (komputerowe kodowanie znaków). Bez tego istnieje ryzyko, że akcenty zostaną źle zrozumiane.

                         # Default encoding of text and HTML files AddDefaultCharset UTF-8

                        Chroń wp-config.php

                        Plik konfiguracyjny Twojej witryny ( wp-config.php ) zawiera poświadczenia do połączenia z bazą danych.

                        To najbardziej wrażliwy plik w Twojej witrynie. Może być celem potencjalnych hakerów. Można go zabezpieczyć, dodając ten kod do głównego pliku .htaccess :

                         # Protect the wp-config.php file <files wp-config.php> order allow,deny deny from all </files>

                        Chroń sam plik .htaccess

                        Podobnie jak plik wp-config.php , plik .htaccess musi być w pełni chroniony. Aby to zrobić, wstaw ten kod:

                         # Protect .htaccess and .htpasswds files <Files ~ "^.*\.([Hh][Tt][AaPp])"> order allow,deny deny from all satisfy all </Files>

                        Ogranicz spam w komentarzach

                        Wiesz o tym równie dobrze jak ja, jeśli masz bloga, spam w komentarzach to prawdziwy ból.

                        Na szczęście istnieje sztuczka, która zapobiega temu bezpośrednio w pliku .htaccess . Nie jest to szybkie rozwiązanie, ale w połączeniu z wtyczką Akismet większość spamu powinna zostać odfiltrowana.

                         # Avoid comment spam <IfModule mod_rewrite.c> RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.mywebsite.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] </IfModule>

                        Nie zapomnij zastąpić mywebsite.com nazwą swojej domeny.

                        Dołącz do subskrybentów WPMarmite

                        Pobierz ostatnie posty WPMarmite (a także ekskluzywne zasoby).

                        ZAPISZ SIĘ TERAZ
                        Biuletyn WPMarmite w języku angielskim

                        Unikaj wykrycia identyfikatora autora

                        Nawet jeśli używasz złożonego loginu użytkownika, nadal można go wykryć.

                        Oczywiście zakładam, że nie wyświetlasz go publicznie ze swoim motywem (może się to zdarzyć).

                        Spróbuj wpisać mywebsite.com/?author=x zastępując x na 1 dla administratora lub identyfikatora jednego z Twoich autorów. Jeśli nie jesteś chroniony, zostaniesz przekierowany na stronę taką jak mywebsite.com/author/author_id .

                        W ten sposób w dwie sekundy znajdziesz identyfikator użytkownika. Stamtąd pozostaje tylko spróbować odgadnąć hasło.

                        Aby uchronić się przed tą techniką, użyj następującego kodu:

                         # Prevent the detection of an author's ID <IfModule mod_rewrite.c> RewriteCond %{QUERY_STRING} ^author=([0-9]*) RewriteRule .* - [F] </IfModule>

                        Wyłącz hotlinkowanie swoich obrazów

                        Co to jest hotlinking? Nie martw się, wszystko wyjaśnię.

                        Zasadniczo, gdy dodasz obrazy do swojej witryny (na przykład w artykule), każdy może skopiować adres URL jednego z Twoich obrazów i wyświetlić go w swojej witrynie.

                        Możesz pomyśleć, że to nie jest takie złe, ale jeśli z jakiegoś powodu bardzo obserwowana witryna pobierze Twój obraz i wyświetli go na jednej ze swoich stron, żądania zostaną wysłane do Twojego serwera.

                        Hotlinking to w rzeczywistości kradzież przepustowości . Jeśli Twoja witryna jest zainstalowana na małym współdzielonym serwerze, Twój host może tego nie docenić, ponieważ zasoby są ograniczone.

                        Aby uniknąć problemu, wstaw i dostosuj ten kod do pliku .htaccess :

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        Zastąp mywebsite.com nazwą swojej domeny

                        Aby umożliwić niektórym witrynom wyświetlanie Twoich obrazów, użyj następującego kodu:

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite2.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite3.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        Zastąp mywebsite.com, mywebsite2.com i mywebsite3.com wybranymi przez siebie domenami

                        Możesz także dostosować obraz, który będzie wyświetlany zamiast żądanego obrazu. Dodałem coś prostego, ale możesz być bardziej kreatywny.

                        Zablokuj adresy IP

                        Jeśli zauważyłeś, że niektóre adresy IP zbyt często próbują zalogować się do administracji Twojej witryny (na przykład za pomocą wtyczki Login Lockdown), możesz się ich pozbyć blokując ich adres IP.

                        Masz również możliwość pobrania adresów IP spamerów w celu zablokowania ich w Twojej witrynie.

                        To rozwiązanie nie jest trwałe, ponieważ atakujący może zmienić adres IP, ale może działać przeciwko mniej wykwalifikowanym osobom.

                         # Ban an IP address <Limit GET POST> order allow,deny deny from xxx.xxx.xxx.xxx allow from all </Limit>
                        Zastąp xxx.xxx.xxx.xxx adresem IP, który ma zostać zablokowany

                        Blokuj odwiedzających z niektórych witryn

                        Jeśli zdasz sobie sprawę, że niezgodna witryna połączyła się z Twoją witryną i nie chcesz, aby odwiedzający ją użytkownicy mieli dostęp do Twojej witryny, użyj tego kodu:

                         # Prevent visitors to these sites from accessing yours <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} mywebsite1.com [NC,OR] RewriteCond %{HTTP_REFERER} mywebsite2.com [NC,OR] RewriteRule .* - [F] </ifModule>
                        Zastąp mywebsite1.com i mywebsite2.com wybranymi przez siebie witrynami

                        Przekieruj odwiedzających z jednej witryny na drugą

                        Aby pójść o krok dalej z poprzednią wskazówką, możesz przekierować odwiedzających z niektórych witryn do innej witryny.

                        Oto kod do użycia:

                         # Redirect visitors from one site to another RewriteEngine on RewriteCond %{HTTP_REFERER} sourcewebsite\.com/ RewriteRule ^(.*)$ http://www.destinationwebsite.com [R=301,L]
                        Zamień strony źródłowe i docelowe na wybrane przez siebie

                        Utwórz przekierowania

                        Plik .htaccess umożliwia wykonywanie przekierowań (przekierowanie adresu URL A na adres URL B).

                        Jest to przydatne przy przekierowywaniu kilku stron, ale jeśli chcesz utworzyć wiele przekierowań, polecam wtyczkę WordPress Redirection, którą przedstawiłem w tym artykule.

                        Jak tworzyć przekierowania w pliku .htaccess :

                         # Redirection of any page Redirect 301 /oldpage/ http://www.mywebsite.com/newpage # Redirection of a new category (with renaming from category to topic) Redirect 301 /category/technology/ http://www.mywebsite.com/topic/techno/

                        Przekieruj adres bez www na adres z www

                        Przy zakładaniu strony internetowej jedną z czynności do wykonania w pierwszej kolejności jest przekierowanie strony bez www do wersji z www (lub odwrotnie).

                        Jeśli wykonasz test następnym razem, gdy utworzysz witrynę, okaże się, że te dwa adresy niekoniecznie prowadzą do Twojej witryny.

                        W niektórych przypadkach firma hostingowa zajmie się tym automatycznie lub musi zostać aktywowana za pośrednictwem strony administratora na stronie hostingowej (tak jest na przykład w przypadku Gandi).

                        Jeśli musisz wykonać to przekierowanie ręcznie, użyj następującego kodu, zastępując mywebsite.com swoją witryną:

                         # Redirection of site without www to www RewriteEngine On RewriteCond %{HTTP_HOST} ^mywebsite. com [NC] RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [L,R=301]
                        Zastąp mywebsite.com nazwą swojej domeny

                        Przekieruj adres z www na adres bez www

                        Z drugiej strony, jeśli nie chcesz www przed nazwą swojej witryny (jak w przypadku WPMarmite), możliwe jest przekierowanie do wersji bez www .

                        Wstaw następujący kod do pliku .htaccess :

                        Uwaga : Nie używaj tego kodu z poprzednim kodem, w przeciwnym razie Twoja witryna będzie miała pętlę przekierowań (ponieważ wersja bez www przekieruje do wersji z www , która przekieruje do wersji bez www itd.).

                        Przekieruj do HTTPS

                        Jeśli skonfigurowałeś certyfikat SSL w swojej witrynie, aby przełączyć go na HTTPS, musisz mieć pewność, że wszyscy odwiedzający przeglądają bezpieczną wersję Twojej witryny.

                        Jeśli nie, hakerzy mogą odzyskać poufne informacje (na przykład dane osobowe lub bankowe).

                        Użyj poniższego kodu, aby przełączyć całą witrynę na HTTPS:

                         # Redirection to HTTPS RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^(. *)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

                        Wymuś pobieranie określonych plików

                        Gdy chcesz pobrać plik ze strony internetowej, przeglądarka czasami próbuje go otworzyć, aby go wyświetlić.

                        Osobiście uważam to za wygodne w przypadku plików PDF. Z drugiej strony jest to bardzo nieprzyjemne dla innych typów plików.

                        Wprowadź następujący kod, aby odwiedzający pobierali pliki z tymi rozszerzeniami bezpośrednio (zmodyfikuj je, jak chcesz):

                         # Force download for these file types AddType application/octet-stream .doc .docx .xls .xlsx .csv .mp3 .mp4

                        Utwórz niestandardową stronę konserwacji

                        W poprzednim artykule odkryłeś szereg wtyczek konserwacyjnych. Jednak zdarzają się przypadki, w których strona konserwacji nie będzie mogła się wyświetlić.

                        To denerwujące, prawda?

                        Aby uzyskać stronę konserwacji, możesz użyć następującego kodu:

                         # Maintenance page RewriteEngine on RewriteCond %{REQUEST_URI} ! /maintenance.html$ RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx RewriteRule $ /maintenance.html [R=302,L]

                        Aby to zadziałało, musisz:

                        • Utwórz plik maintenance.html z treścią wskazującą, że serwis jest w trakcie konserwacji.
                        • Dodaj swój adres IP w wierszu 4 (upewnij się, że zachowałeś „ \ ”), aby umożliwić Ci dostęp do witryny (odszukaj swój adres IP na tej stronie).

                        Po zakończeniu konserwacji umieść „ # ” przed każdym wierszem, aby przekazać je jako komentarz.

                        Włącz buforowanie

                        Plik .htaccess umożliwia buforowanie niektórych plików z Twojej witryny w przeglądarce użytkownika, dzięki czemu ładują się one szybciej.

                        W rzeczywistości przeglądarka nie będzie musiała ponownie pobierać plików ze swojej pamięci podręcznej.

                        Aby to zrobić, wstaw następujący kod:

                         # Caching of files in the browser <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 month" ExpiresByType text/html "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/pdf "access plus 0 seconds" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType application/x-font-woff2 "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/webm "access plus 1 month" ExpiresByType text/css "access plus 6 month" ExpiresByType application/javascript "access plus 6 month" ExpiresByType application/x-shockwave-flash "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" </IfModule> # Headers Header unset ETag FileETag None <ifModule mod_headers.c> <filesMatch "\.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(css)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(js)$"> Header set Cache-Control "private" </filesMatch> <filesMatch "\.(x?html?|php)$"> Header set Cache-Control "private, must-revalidate" </filesMatch> </ifModule>

                        Buforowanie plików będzie działać przez czas określony dla każdego typu pliku lub do czasu, gdy odwiedzający wyczyści swoją pamięć podręczną.

                        Aby przyspieszyć działanie witryny dzięki buforowaniu, polecam korzystanie z wtyczki premium WP Rocket (link partnerski). Ponieważ jest prosty i szybki w konfiguracji, jest idealny dla początkujących w WordPressie. Z jego pomocą nie będziesz musiał korzystać z podanego powyżej fragmentu kodu.

                        Przyspiesz swoją witrynę dzięki WP Rocket

                        Zmień swoją witrynę w rakietę dzięki najpotężniejszej wtyczce do buforowania, uznanej przez ekspertów WordPressa.
                        Wypróbuj rakietę WP
                        Logo WP Rocket

                        Włącz kompresję

                        Oprócz wszystkiego, co widzieliśmy do tej pory, możliwe jest skompresowanie niektórych zasobów przed ich przeniesieniem z serwera do przeglądarki.

                        A kompresja plików oznacza szybsze ładowanie strony. Dlatego polecam zaimplementować ten kod, aby przyspieszyć działanie witryny:

                         # Compression of static files <IfModule mod_deflate. c> AddOutputFilterByType DEFLATE text/xhtml text/html text/plain text/xml text/javascript application/x- javascript text/css BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\. 0 [678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \. (?:gif|jpe?g|png)$ no-gzip dont-vary Header append Vary User-Agent env=! dont- vary </IfModule> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/json

                        Wyłącz dostęp do niektórych skryptów

                        Do działania WordPress używa skryptów znajdujących się w katalogu wp-includes . Nie ma jednak powodu, aby uzyskiwać do nich bezpośredni dostęp. Użyj tego kodu, aby ograniczyć dostęp:

                         # Block the use of certain scripts RewriteEngine On RewriteBase / RewriteRule ^wp- admin/includes/ - [F,L] RewriteRule ! ^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/. +\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L]

                        Ochrona przed wstrzyknięciami plików

                        Hakerzy mogą próbować wysyłać pliki na Twój serwer, aby przejąć kontrolę nad Twoją witryną. Aby wrzucić klucz na ich ścieżkę, możesz dołączyć ten kod do pliku .htaccess :

                         # Protection against file injections RewriteCond %{REQUEST_METHOD} GET RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC] RewriteRule .* - [F]

                        Ochrona przed innymi zagrożeniami

                        Na Facebooku Richard powiedział mi, że można zabezpieczyć się przed clickjackingiem i innymi zagrożeniami, dodając kilka linijek w pliku .htaccess .

                        Dla twojej informacji, clickjacking to technika, która pomaga sprawić, by odwiedzający uwierzyli, że jest w Twojej witrynie, gdy nie są, za pomocą tagów frame lub iframe .

                        Poniższy kod pomaga chronić Cię przed clickjackingiem, zwalcza inne zagrożenia, takie jak MIME Sniffing, i blokuje zawartość w przypadku ataku XSS (który spowoduje wstrzyknięcie kodu HTML lub JavaScript do słabo chronionych zmiennych).

                         # Various protections (XSS, clickjacking and MIME-Type sniffing) <ifModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" Header always append X-Frame-Options SAMEORIGIN Header set X-Content-Type-Options: "nosniff” </ifModule>

                        I to wszystko, właśnie przeszedłeś całą masę optymalizacji, które należy włączyć do pliku .htaccess znajdującego się w katalogu głównym witryny.

                        Przejdźmy dalej: nowe fragmenty kodu dla folderów wp-admin , wp-icludes , wp-content i wp-content/uploads .

                        Jak dostosować plik .htaccess w wp-admin

                        wp-admin to legowisko Twojej witryny. Miejsce, w którym piszesz artykuły, konfigurujesz menu, ustawiasz motyw i wiele więcej.

                        Nie trzeba dodawać, że do tego schronienia nie powinny wchodzić osoby nieupoważnione. W przeciwnym razie uważaj na konsekwencje.

                        Oto, co możesz zrobić, aby wzmocnić zabezpieczenia za pomocą pliku .htaccess , który umieszczasz w folderze wp-admin swojej witryny.

                        Ogranicz dostęp do administrowania witryną

                        Tylko osoby z wymienionymi adresami IP będą mogły uzyskać dostęp do folderu wp-admin . Bardzo przydatne, aby uniemożliwić nieznajomym zalogowanie się do Twojej witryny (nawet jeśli mają prawidłowe hasło).

                         <Limit GET POST PUT> order deny,allow deny from all # Alex's IP allow from xxx.xxx.xxx.xxx # Nico's IP allow from xxx.xxx.xxx.xxx # IP of another access point allow from xxx.xxx.xxx.xxx </Limit>

                        Dodaj drugie uwierzytelnienie

                        Logując się do administratora witryny WordPress, używasz loginu i hasła. Cóż, możliwe jest dodanie drugiego poprzez plik .htaccess i kolejny plik.

                        Najpierw utwórz plik o nazwie .htpasswd w katalogu wp-admin i wstaw do niego parę nazwa użytkownika i hasło. Skorzystaj z tej witryny, aby Cię poprowadzić:

                        Interfejs narzędzia Generatora HTPasswd.

                        Wprowadź nazwę użytkownika, której chcesz użyć w pierwszym polu, a hasło w drugim, a następnie kliknij "Generuj plik .htpasswd ".

                        Następnie skopiuj wiersz, który pojawi się w pliku .htpasswd . Jeśli chcesz utworzyć wielu użytkowników, powtórz proces i dodaj nową parę nazwa użytkownika/hasło w nowym wierszu.

                        Na przykład możesz uzyskać ten rodzaj pliku:

                         alex:ieS547B1UxY8M jack:rSqEJf0SeTlRs
                        Fikcyjna zawartość pliku .htpasswd

                        Następnie wstaw następujący kod do pliku .htaccess :

                         # Second authentication for administration <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> AuthName "Login to the administration" AuthType Basic AuthUserFile "/full/path/to/the/file/.htpasswd" Require valid-user

                        Trudną częścią tej operacji jest uzyskanie pełnej ścieżki do pliku .htpasswd . Aby na pewno go znaleźć, utwórz plik info.php i wstaw następujący kod:

                         <?php echo "Path to copy: " . realpath('.htaccess'); ?>
                        Umieść plik info.php w wp-admin

                        Przejdź do yourwebsite.com/wp-admin/info.php , a otrzymasz faktyczną ścieżkę do pliku .htpasswd , który zostanie umieszczony w pliku .htaccess . Usuń plik info.php , gdy znajdziesz właściwą ścieżkę.

                        Jeśli wstawisz ten kod bez zmian, żądania AJAX przestaną działać. Użyj poniższego fragmentu kodu, aby rozwiązać problem :

                         AuthType Basic AuthName "Protected page" AuthUserFile /home/.htpasswd Require valid-user <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> <Files admin-post.php> Order allow,deny Allow from all Satisfy any </Files> <Files "\.(css|gif|png|js)$"> Order allow,deny Allow from all Satisfy any </Files>
                        Umieść plik info.php w wp-admin

                        Jeśli zrozumiałeś wszystko, o czym właśnie wspomniałem, powinieneś mieć podwójne uwierzytelnianie, aby uzyskać dostęp do administracji WordPress.

                        Przejdźmy do następnej części.

                        Jak dostosować plik .htaccess w wp-includes?

                        Blokuj bezpośredni dostęp do plików PHP

                        Utwórz plik .htaccess w wp-includes i wklej do niego następujący kod, aby uniemożliwić bezpośrednie ładowanie plików PHP.

                         # Blocks direct access to PHP files (Thanks to Sucuri) <Files wp-tinymce.php> allow from all </Files> <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch> <Files wp-tinymce.php> Allow from all </Files> <Files ms-files.php> Allow from all </Files>

                        Powyższy kod jest dostarczany przez wtyczkę Sucuri.

                        Jak dostosować plik .htaccess w wp-content?

                        Blokuj bezpośredni dostęp do plików PHP

                        W przypadku folderu wp-content kod jest podobny, usunięto tylko wyjątki:

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch>

                        Jak dostosować plik .htaccess w wp-content/uploads?

                        Blokuj bezpośredni dostęp do plików PHP

                        Tym samym kodem chroń folder, w którym przechowywane są media, aby uniemożliwić wykonanie plików PHP przez kogoś z zewnątrz (na przykład paskudnego hakera).

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\. (?i:php)$"> <IfModule ! mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core. c> Require all denied </IfModule> </FilesMatch>

                        Ostateczne podsumowanie pliku .htacess w WordPress

                        Jak odkryłeś w tym przewodniku, plik .htaccess jest bardzo potężnym narzędziem do konfigurowania serwera Twojej witryny.

                        Ostrożnie i ostrożnie może poprawić bezpieczeństwo witryny, jej wydajność, SEO, a nawet wygodę użytkownika.

                        Plik #htaccess Twojej witryny #WordPress to potężne narzędzie. Dowiedz się, jak to działa i skonfiguruj go jak szef kuchni dzięki wskazówkom WPMarmite.

                        Kliknij, aby tweetować

                        Jeszcze raz zalecam, aby zawsze przechowywać kopię zapasową oryginalnego pliku .htaccess , aby wykonać reset w przypadku wystąpienia problemów.

                        Kontynuuj wprowadzanie zmian z najwyższą ostrożnością (ostrzegam cię!). W zależności od hosta Twojej witryny mogą wystąpić błędy lub niezgodności.

                        Chociaż w tym artykule omówiono sporo rzeczy, można przejść dalej w konfiguracji .htaccess , korzystając z różnych zasobów:

                        • Dokumentacja WordPress i dokumentacja Apache (oprogramowanie, które obsługuje twój serwer).
                        • Blog Perishable Press, który ma nawet płatną książkę na ten temat.

                        Zanim się pożegnam, chciałbym, aby Twój wkład w komentarzach. Czy dostosowałeś swój plik .htaccess ?

                        A co najważniejsze, możesz udostępniać innym czytelnikom wszelkie fragmenty kodu, z których korzystasz.