htaccess

Tworzenie przyjaznych linków i inne możliwości jakie daje .htaccess

Mając możliwość edytowania pliku .htaccess na serwerze Apache, możemy wpływać na wiele ustawień związanych z działaniem naszej strony www. Najbardziej popularnym jest zabezpieczanie strony przed dostępem, jeśli jest taka potrzeba i tworzenie tzw. przyjaznych linków.

Komentarze

Zaczniemy jednak od komentarzy. Aby wprowadzić komentarz trzeba na początku dać znak #

Po każdym wpisie trzeba zrobić ENTER i ostatnia linia w pliku musi być pusta, czyli robimy ENTER i nic już nie piszemy. Inaczej mogą być błędy w wykonywaniu instrukcji.

Domyślny plik startowy

Jedną z podstawowych możliwości jest określenie jaki plik ma być startowym. Domyślnie na serwerach jest index.php, ale możemy tu określić jakiś inny lub też nawet kolejność w przypadku braku domyślnego.

Domyślne działanie na pliku

Wszystkie pliki na serwerze mają domyślnie zdefiniowane działanie. Przykładowo pliki z rozszerzeniem PHP są przetwarzane przez parser serwera do skryptów PHP. A powiedzmy pliki PDF otwierane w przeglądarce do tych plików. Lecz my przy pomocy odpowiednich wpisów możemy wpłynąć na odmienne działanie.

Powyższe zapisy odpowiednio spowodują:
pierwszy pliki .tpl będzie traktował jak HTML, a drugi pliki .txt będzie puszczał przez parser PHP.

Poniższym wpisem sprawimy, by przeglądarka zamiast otwierać w domyślnym programie zapisywała na dysku pliki ( tu zapisze pliki PDF i RAR):

Czasem też przydatna może okazać się zmiana kodowania plików:

Hasło

Jeśli serwer daje taką możliwość, to można też nałożyć ograniczenie na katalog. Aby zobaczyć jego zawartość trzeba będzie wpisać użytkownika i hasło.

Zaczynamy od stworzenia pliku .htpasswd w którym zapisane będą dane w postaci:

Możemy wpisać dowolną ilość użytkowników, jednak każdy musi być w osobnej linii, a hasła koniecznie muszą być zakodowane w md5. Zakodowanie hasła możemy uzyskać w PHP funkcją md5();.

Następnie jak już mamy przygotowany plik .htpasswd z danymi do logowania to trzeba wpisać w pliku .htaccess to:

Pierwsza linia to tytuł komunikatu. W trzeciej linii mamy ścieżkę gdzie zapisany jest plik z danymi logowania. Ostatnia linia odpowiada za zabronienie dostępu do wszystkich plików w katalogu. Jeśli chcemy zabronić tylko do konkretnego pliku to trzeba ostatnią linie zamienić na taki wpis:

A reszta pozostaje bez zmian. To zabezpieczenie działa tylko przy próbie dostępu poprzez przeglądarkę. Jeśli ktoś będzie próbował innego dostępu to nie zadziała.

Przyjazne linki lub też nazywane SEO

To jest chyba najciekawsza możliwość, jaką daje działanie pliku htaccess twórcom stron internetowcych. Umożliwiają to reguły RewriteRule. Załóżmy że nasz adres jest z jedną zmienną:
http://www.webmaster.org.pl/strona.php?zm=zmienna
i teraz zmienimy go na:
http://www.webmaster.org.pl/zmienna.htm
by jego wygląd by bardziej przyswajalny i łatwiejszy do zapisania lub zapamiętania. Ta reguła nam to umożliwi:

Przy jednej zmiennej sprawa jest dość prosta. To co jest przed .htm w adresie zostanie przeniesione w miejsce znaki $1. Czyli stanie się zmienną zm. Zapewnia nam to (.*). Zamiast tego można by wpisać ([^-]+) i wtedy wszystkie znaki będą przenoszone z wyłączeniem (myślnika), bo on znalazł się w nawiasie [ ] jako wyłączenie z reguły. Oczywiście może to być każdy inny znak, tak samo jak możemy zmienić .htm na cokolwiek innego lub też bez końcówki zostawić. np.:

Przykład z czterema zmiennymi:

Adres wywołany w przeglądarce w postaci:
http://www.webmaster.org.pl/zmienna/kategoria-co4
zmieni na:
http://www.webmaster.org.pl/strona.php?zm=zmienna&ta=kategoria&se=co&id=4

Każdy nawias to osobna zmienna w docelowym adresie. Pierwszy nawias przekazuje do pierwszej zmiennej to co jest aż do ukośnika z wyjątkiem myślnika. Następnie do drugiej zmiennej jest przypisywana stała zmienna kategoria. Za myślnikiem mamy następną zmienną i tu ciekawostka. Tą zmienną będzie wszystko pomiędzy myślnikiem, a ostatnią jedną cyfrą w adresie, która to jest czwartą zmienną. W tym przypadku mamy zmienną co.

Wpisywać w zasadzie możemy wszystko, jednak jeśli chcemy używać specjalnych znaków trzeba je poprzedzać ukośnikiem:

Metaznaki stosowane w wyrażenia regularnych

. Dowolny znak
^ Oznacza początek napisu
$ Oznacznik końca (c$ znaczy, że ciąg tekstowy musi zakończyć się na c)
+ Wystąpi jeden lub więcej razy
* Zero lub więcej wystąpień
? Zero lub jedno wystąpienie
! Negacja wyrażenia
( Rozpoczyna grupowanie (przetwarzanie ciągu znaków, jakby był to pojedynczy element)
[ Rozpoczyna klasę znaków, np. dopasowane do przedziału od 0 do 9, to definicja klasy [0-9]

Przekierowanie adresu www

Najlepiej jak zadbamy o to by nasza strona internetowa była dostępna pod jednym adresem. Adres z WWW i bez WWW to tak naprawdę różne adresy dla wyszukiwarek. Czasem bywa też, że przenosimy naszą stronę na inny adres. I tu z pomocą również przychodzi RewiteRule takim zapisem:

Przekierowuje naszą stronę na adres z WWW. W ten sposób możemy również z kilku adresów przekierowywać na jeden stosując flagę [OR].

Subdomeny

Subdomeny tworzy się w panelu administracyjnym serwera. Ale można to uprościć stosując plik htaccess i odpowiednie wpisy w nim.

Teraz po wpisaniu do przeglądarki adresu http://subdomena.webmaster.org.pl zostaniemy przeniesieni do katalogu subdomena.

Aby w przeglądarce widoczny był adres subdomenowy, naeży jeszcze dodac wpis:

Przy tych wpisach możemy mieć w zasadzie dowolną subdomenę, pod warunkiem że istnieje katalog z taką nazwą.

Dodaj komentarz

avatar
  Subscribe  
Powiadom o
© 2019 Tworzenie stron www - webmasterstwo - porady | WordPress Theme: Annina Free by CrestaProject.