Plik .htaccess w WordPress

Plik .htaccess w WordPress – przekierowania i zabezpieczenia

Dopiero zaczynasz swoją przygodę z WordPressem? Na pewno słyszałeś już o pliku .htaccess i pewnie wydaje się to być skomplikowane działanie. Spokojnie, nie ma się czego obawiać. Przy odrobinie wiedzy i skutecznych trikach sprawnie ogarniesz działanie tego pliku konfigurującego, a przy tym zabezpieczysz swoją witrynę. Zaczynamy!

Czym jest plik .htaccess?

Plik konfigurujący .htaccess, znajduje się w katalogu głównym na serwerze Apache Web Server bądź Lite Speed i zawiera w sobie instrukcje dotyczące żądań HTTP. Wykorzystuje się go w celu tworzenia przekierowań. Pełni również funkcję zabezpieczającą pliki i foldery, umożliwia zmianę sposobu wyświetlania adresów URL, kontrolowania SEO i wiele innych przydatnych funkcji.

Na fotografii przedstawiony jest uśmiechnięty mężczyzna ubrany w białą koszulę, który stoi na świeżym powietrzu. Jego jasne, starannie uczesane włosy oraz bezpośrednie spojrzenie skierowane w stronę obiektywu nadają zdjęciu wrażenie pewności siebie i swobody. Mężczyzna ma skrzyżowane ramiona na klatce piersiowej, co podkreśla jego zrelaksowaną postawę.

Zastosowanie pliku .htaccess – do czego służy?

Z pliku .htaccess korzystają użytkownicy platformy CMS WordPress i dzięki niemu mogą zarządzać swoją witryną. Jakich konfiguracji można dokonać z tym plikiem?

  1. Przekierowania – to najpopularniejsza funkcja , która umożliwia kontrolę ruchu w witrynie. 
  2. Zabezpieczenia –  dzięki niemu możemy ograniczyć dostęp do plików i katalogów w obrębie strony. Umożliwia zabezpieczenie całej strony, lub jej wybranych części, a także zablokowanie szkodliwych skryptów.
  3. Kontrola botów – plik .htaccess umożliwia ograniczenie dostępu dla robotów wyszukiwarki, a także zabezpieczenie przed złośliwymi botami.
  4. Zwiększenie wydajności  strony – za pomocą pliku konfiguracyjnego istnieje kilka sposobów na usprawnienie funkcjonowania witryny, np. poprzez zmianę rozmiaru plików, czy też ustawienia domyślnych elementów ładowania strony.

Jak stworzyć plik .htaccess?

W tym celu wystarczy  dowolny edytor tekstu np. Notatnik (Zalecany jest Notepad++). Nazwa to oczywiście .htaccess . Jeżeli reguły pliku będą odnosić się do całej domeny, to przygotowany plik umieszczamy w katalogu głównym – public _html. Należy sprawdzić, czy kodowanie pliku to UTF –8.

Pamiętajmy, że plik .htaccess możemy stworzyć dla każdej subdomeny, a nawet dla dowolnego folderu. 

Edytowanie pliku .htaccess

Możemy oczywiście zmodyfikować gotowy plik tekstowy. W takim przypadku ściągamy plik na dysk swojego komputera, a następnie postępujemy w ten sam sposób, jak przy tworzeniu .htaccess. wpisujemy reguł, a na końcu każdego wiersza dodajemy znak ENTER. 

Kiedy reguły będą gotowe, wysyłamy plik z powrotem na dysk. Pamiętajmy o zapasowej kopii pliku. Pomoże w sytuacji, gdy zechcemy szybko cofnąć zmiany. W ten sposób unikniemy ponownego wpisywania reguł.

Reguły pliku .htaccess – podstawowe wpisy

Plik .htaccess służy właśnie do wpisywania reguł, które kontrolują działanie naszej strony. Istnieje wiele takich reguł, ale zajmiemy się tymi najważniejszymi:

Przekierowanie 301

Najpopularniejsze zadania .htaccess to chyba przekierowania. Jest to jego podstawowa funkcja, która informuje o zmianie adresu strony internetowej:

RewriteEngine On
RewriteRule ^poprzedni-adres$ http://domena.pl/nowy-adres [L,R=301]

Hasło do plików i folderów

Jednym z podstawowych zadań pliku jest blokowanie dostępu do określonych plików/folderów. Głównym plikiem jest np. wp-admin.php. To jedna z pierwszych, czynności, jaką wykonujemy, ponieważ umożliwia zabezpieczenie logowania do naszego serwera CMS WordPress dwoma hasłami:

<Files wp-login.php>
Order Deny,Allow
Deny from All
Satisfy Any
AuthName „Dostep Chroniony”
AuthUserFile /dostepchroniony/.htpasswda1
AuthType Basic
Require valid-user
</Files>

Powstaje tutaj:  login:haslo .

WordPress oferuje także inne narzędzie do zabezpieczenia logowania plikiem htacces. Tutaj zaprezentowana została podstawowa metoda.

Na fotografii widoczny jest uśmiechnięty mężczyzna ubrany w białą koszulę z długim rękawem. Na jego lewym nadgarstku znajduje się zegarek. Mężczyzna ma krótkie, jasne włosy i spogląda bezpośrednio w obiektyw aparatu, sprawiając wrażenie otwartego i pewnego siebie.

Tło zdjęcia podzielone jest na dwie części: po lewej stronie dominuje biel, natomiast prawa strona to ciemnoniebieski lub granatowy obszar. Na białej części tła umieszczono napisy w różnych kolorach i stylach. U góry widnieje napis "Freelancer SEO" w czarnej czcionce. Tuż pod nim, granatowym lub ciemnoniebieskim kolorem, znajduje się fraza "Pozycjonowanie stron internetowych". Najniżej, również w tym samym odcieniu, zapisane jest imię i nazwisko: "Bartłomiej Lewicki".

Zabezpieczenie pliku wp-config.php

W pliku canfig.php zawarte są dane dotyczące dostępu do MySQL. Poprzez plik .htaccess możemy dołożyć do nich dodatkowe zabezpieczenie. Po zastosowaniu tej reguły nikt, kto nie ma dostępu do FTP ich nie wykorzysta

<files wp-config.php>

order allow, deny

deny from all

</files>

Zabezpieczenie danych autora w WordPress

Hakerzy mają różne sposoby na włamanie się do strony. Jednym z takich sposobów jest wykorzystywanie skryptu, który poszukuje danych autora na stronie, po czym łamie hasło dostępu. Aby zapobiec takiej sytuacji, możemy zastosować tego rodzaju skrypt:

# BEGIN blokowanie skanowania

RewriteEngine On

RewriteBegine /

RewriteCound %{QUERY_ STRING} (autor=d+) [NC]

RewriteRule .* – [F]

END blokowanie skanowania

Blokowanie wybranych adresów  IP

W sytuacji, kiedy wiemy, że konkretny adres IP jest szkodliwy, mamy możliwość ograniczenia mu dostępu do serwera. Jak to wykonać?

  • blokada adresów IP: 

 Deny from all

  • blokada adresów IP z wyjątkiem:

Order allow, deny

 allow from 123.456.789.0

  • blokada tylko niektórych adresów IP 

Order deny, allow

deny from 123.456.789.0

Blokowanie domeny na podst. strony odsyłającej

Mamy możliwość zablokowania niechcianej strony. Żeby to wykonać powinniśmy mieć włączoną funkcję FollowSymlinks. W przeciwnym wypadku serwer odeśle nam błąd 500. Dzięki zastosowaniu temu zablokowanej domenie wyświetli się błąd 403.

RewriteEngine on

options +FollowSymlinks

RewriteCond%{HTTP REFERER} okreslonastrona / .pl [NC]

RewriteRule .* [F]

Nasza strona – kod błędu 

Jedną z podstawowych stron, jaką robi administrator strony internetowej, jest własna strona błędu(404). To ważne, jeśli chcemy decydować, co wyświetli się użytkownikom i w jakiej formie. Ponadto przy kodzie błędu 500 czy 403 również możemy wyświetlić domenom własny komunikat:

ErrorDokument 404/error_pages/404.html

Blokowanie stron dla botów

Oczywiście zablokować dostęp do pewnych informacji, jest możliwe także dla robotów:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^nazwabota [OR]
RewriteCond %{HTTP_USER_AGENT} ^nazwabota
RewriteRule .* – [F]

Wymuszenie przedrostka www przy adresie URL

Z punktu widzenia pozycjonowania strona, która ma dwie wersje z przedrostkiem www. i bez nie jest wskazana. Dlatego w celu identyfikacji wersji podstawowej używa się tego pliku tekstowego:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domena.pl(.*) [NC]
RewriteRule ^(.*)$ http://www.domena.pl/$1 [R=301,L]

Wymuszenie adresu URL bez przedrostka www

Można również przekierować stronę na adres bez przedrostka. Umożliwia to ta reguła:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domena.pl(.*) [NC]
RewriteRule ^(.*)$ http://domena.pl/$1 [R=301,L]

Hotlinking – zablokowanie

Jeśli jakaś strona podejmuje próbę korzystania z plików graficznych na naszym serwerze, zostanie automatycznie zablokowana:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(subdomena\.)?domena\.pl/.*$ [NC]
RewriteRule ^.*\.(bmp|tif|gif|jpg|jpeg|jpe|png)$ http://www.nooooooooooooooo.com/ [F]

Cookies – konfiguracja

Ustawienie czasu ciasteczek, czy też ich zabezpieczenie jest możliwe w .htaccess. Poniższa reguła pokazuje konfigurację plików cookies na 15 dni:

ExpiresDefalut  ,,access plus 15 days” 

Poprawne korzystanie z pliku .htaccess

Istnieje mnóstwo reguł, które możemy wdrożyć do systemu. Jednak należy pamiętać, że zbyt duża ilość może wpłynąć na szybkość ładowania strony. Jeśli dopiero zaczynamy pracę z plikiem, warto zastosować się do kilku zasad:

  • Pojedyncze wdrażanie reguł – jest to istotne w przypadku wystąpienia jakichś błędów. Łatwiej będzie wypatrzeć błąd i szybko go naprawić. Masowe wprowadzanie reguł do serwera utrudni nam wyszukiwanie potencjalnych pomyłek.
  • W sytuacji zmiany pliku .htaccess zaleca się stworzenie zapasowej kopii pliku. Umożliwi to  wycofanie się z działań i cofnięcie zaistniałych zmian.
  • Wielkość liter – jeśli korzystamy z serwera Apache, to musimy pisać małymi literami, ponieważ rozpoznaje on wielkość liter.
  • Korzystaj z oprogramowania antywirusowego, żeby uniknąć problemów z działaniem pliku .htaccess.

Najczęstsze błędy z działaniem htaccess

  1. Błąd 500 – Intenal Server Error występuje w przypadku niepoprawnego formułowania reguł. Jeśli napotkasz ten błąd, musisz przeformułować reguły.
  2. Serwer Apche ma wyłączoną obsługę pliku .htaccess. – w takim przypadku plik tekstowy nie zadziała.
  3. złośliwe oprogramowanie – przyczyną nieprawidłowości z plikiem może być także zhakowany system, który przeformułowuje twoje reguły.
  4. Nieprawidłowo wpisane reguły – źle wpisane reguły nie zadziałają poprawnie. Sprawdź wielkość liter oraz wszystkie możliwe literówki i w razie potrzeby przeprowadź modyfikację.
  5. Problemy z przekierowaniami – wprowadzając reguły przekierowań, należy uważać. Błędy mogą doprowadzić np. do zapętlania się przekierować. Przed wpisaniem reguł zastanów się dobrze nad efektem, jaki chcesz uzyskać. Unikaj też błędów w składni.

Podsumowując plik htaccess to domyślny plik WordPress, służący do zarządzania witryną internetową

Zakończyłeś właśnie instalację WordPress? To teraz przyszła pora na plik konfiguracyjny serwera www. czyli .htaccess w panelu administracyjnym. Utworzenie pliku jest naprawdę łatwe. Kiedy skonfigurujesz plik, zdobędziesz dostęp do wielu dodatkowych funkcji, np. przekierowanie użytkownika z jednego adresu na inny, zabezpieczenie strony, czy zmiana HTTP na HTTPS. Te funkcje są naprawdę znaczące dla sprawnego działania www., dlatego warto podjąć się tego zadania i złapać odrobinę wiedzy na ten temat.