Newsletter

Grupa MagazynyInternetowe

Online: 903

Wyszukiwarka

Apache

.htaccess bez tajemnic - sztuczki z serwerem Apache

.htaccess bez tajemnic - sztuczki z serwerem Apache Istnieją różne sztuczki, o których wiele osób słyszało, ale nie każdy je stosuje. Jeżeli prowadzisz stronę internetową i masz dostęp do pliku .htaccess na serwerze Apache, co obecnie jest już standardem, możesz w prosty sposób całkowicie zmienić jej funkcjonowanie.

Paulina Roszczyńska

Plik .htaccess jest domyślnym plikiem, za pomocą którego można zmieniać ustawienia serwera Apache dla katalogów. Mechanizm .htaccess jest zazwyczaj domyślnie włączony, jeśli jednak administrator z jakiejś przyczyny w pliku konfiguracyjnym Apache'a zawarł opcję

 
 
 
Pobierz
AllowOverride None

to .htaccess nie zadziała. Dowcipni administratorzy mogą zrobić nam niespodziankę i w ustawieniach Apache'a zadeklarować inną niż domyślną nazwę .htaccess. Umożliwia im to dyrektywa

 
 
 
Pobierz
AccessFileName .ustawienia

W takim przypadku zamiast .htaccess będziemy edytować plik .ustawienia, ponieważ to właśnie on odpowiadać będzie za konfigurację serwera. Na szczęście ma to miejsce bardzo rzadko.

Zazwyczaj plik .htaccess umieszczany jest w głównym katalogu, jednak można stworzyć go w każdym innym istniejącym. Zapisy zawarte w tym pliku funkcjonują dla danego katalogu oraz wszystkich podkatalogów w nim się znajdujących. Co można osiągnąć za pomocą tego pliku?

Okaże się przydatny przy wszelkiego rodzaju przekierowaniach, tworzeniu komunikatów błędów i zmiany sposobu dostępu do naszej strony. Przy każdorazowym odświeżeniu plik ten jest ponownie wczytywany, w związku z tym każda zmiana jest od razu widoczna.

Kiedy mamy już pewność, że istnieje możliwość zmiany ustawień za pomocą pliku, należy go stworzyć (chyba że istnieje) i zabrać się do edycji. Zbiór .htaccess powinien mieć uprawnienia 644 (nadane przez polecenie chmod). Pozwoli to na dostęp do pliku przez serwer, ale uniemożliwi jego zmianę z poziomu przeglądarki:

 
 
 
Pobierz
Chmod 644 .htaccess

Zanim przystąpimy do pierwszych zapisów w pliku, warto wspomnieć, że komentarze w pliku .htaccess wstawia się poprzedzając je znakiem #

[+]
 
 
Pobierz
1. #komentarz
2. #kolejna linia komentowana

Po każdej linii zapisu musi także nastąpić enter. Pisanie jednym ciągiem bez załamywania wierszy może sprawić, że wpisy nie będą funkcjonować. Tak samo ostatnia linia w pliku .htaccess powinna być linią pustą.

Na początek warto zacząć od określenia domyślnego pliku strony WWW. W tym celu wykorzystamy dyrektywę DirectoryIndex. Można podać kilka nazw plików, trzeba jednak pamiętać o rozdzieleniu ich spacjami. Kolejność ma znaczenie – jeśli pierwszy nie zostanie znaleziony, automatycznie zostanie wczytany drugi.

 
 
 
Pobierz
DirectoryIndex index.html index.php awaria.html

Powyższa instrukcja pokazuje kolejność wczytywania plików. Jeżeli zostanie odnaleziony plik index.html, to właśnie on będzie traktowany jako domyślny, a w przypadku jego braku, domyślnym będzie index.php itd. Korzystanie z tego typu dyrektywy bywa przydatne, jeśli główny plik strony ma inną nazwę niż index.php (wtedy zapis może wyglądać następująco):

 
 
 
Pobierz
DirectoryIndex start.html

A także, gdy planujemy zmiany na naszej stronie WWW. Wtedy bez zbędnej przebudowy możemy stworzyć stronę awaryjną, którą ustanawiamy jako domyślną:

 
 
 
Pobierz
DirectoryIndex awaria.html

Po skończeniu wprowadzania zmian można bez problemu powrócić do wcześniejszych ustawień.

Zmiana powiązań typów plików

MimeType to rozszerzenia, które zwracane są przeglądarce po znalezieniu na serwerze danego typu pliku. Dany typ pliku powoduje konkretną reakcję ze strony przeglądarki. Zazwyczaj jest to otwarcie programu obsługującego plik o tym rozszerzeniu. Większość rozszerzeń jest zdefiniowana w domyślnej konfiguracji serwera, jednak czasem może się zdarzyć, że będziemy chcieć dodać lub zmienić daną definicję np.:

[+]
 
 
Pobierz
1. AddType text/html .txt
2. #pliki z rozszerzeniem .txt będą odczytywane jako pliki .html

Taki zapis sprawia, że wszystkie pliki .txt będą rozpoznawane jako zwykle pliki .html. Aby wymusić otwieranie plików skompresowanych w odpowiednich aplikacjach, wystarczy skorzystać z odpowiedniej definicji. Często w przeglądarkach ten typ plików jest odczytywany w formie niezrozumiałego tekstu.

[+]
 
 
Pobierz
1. AddType application/zip .zip
2. AddType application/x-gzip .gz
3. AddType application/x-gtar .gtar
4. AddType application/x-rar-compressed .rar
5. AddType application/octet-stream .dmg
6. AddType application/x-7z-compressed .7z

Sposób przypisania większości znanych formatów do aplikacji zawarto w listingu 1.

[-]
 
 
Pobierz
Listing zwinięty - 46 linii

Możemy również wymusić na przeglądarce pobieranie plików zamiast ich automatycznego odczytywania:

 
 
 
Pobierz
AddType application/octet-stream .pdf .gz

Taki zapis spowoduje, że dokumenty w formacie .pdf oraz .gz będą pobierane, a nie otwierane przez domyślną aplikacje.

Warto wspomnieć o jeszcze jednej prostej, ale przydatnej opcji, której nie sposób pominąć. Edytując plik .htaccess, można szybko dokonać zmiany kodowania dokumentów:

[+]
 
 
Pobierz
1. AddDefaultCharset ISO-8859-1
2. AddDefaultCharset ISO-8859-2
9 czerwca 2008

Powiązane publikacje

Legalna treść - prawa autorskie

Legalna treść - prawa autorskie

Zainstaluj i skonfiguruj serwer WWW - część 3 - serwer MySQL

Zainstaluj i skonfiguruj serwer WWW - część 3 - serwer MySQL

 
Skomentuj
ten artykuł

Komentarzy: 19

Kod obrazkowy
(Kliknij, aby zmienić)
 
Przejdż do tego postu na forum sobota, 20.02.2010 23:43Jarzynka Marek

Dzień dobry,
Dzięki informacjom zawartym w powyższym artykule udało mi się rozwiązać bardzo poważny problem związany ze złym czy też niewłaściwym działaniem moich dwóch stron, które niechciały działać na tym samym serwerze.
Podziękowania dla Pani Pauliny Roszczyńskiej.
Z poważaniem.
Jarzynka Marek

Przejdż do tego postu na forum środa, 3.02.2010 12:11fox

coś nie działa tak jak trzeba, mam problem z hasłem, jeżeli zakoduje md5 to nie mogę się wbić na serwer. Wie może ktoś jakim algorytmem kodowane jest hasło?? Działam na serwerze linux`owym

Przejdż do tego postu na forum sobota, 9.01.2010 20:20artek

Dzięki! Super.

Przejdż do tego postu na forum poniedziałek, 4.01.2010 17:59Karol0120

Świetna robota, podoba mi się. Wszystko bez problemów zrozumiałem i z pewnością inni także.

Przejdż do tego postu na forum środa, 30.12.2009 10:40Grim

Ciekawy artykuł i dobrze napisany ... chociaż powiem szczerze, że żółte rameczki w pewnym momencie zaczęły mnie razić wink.gif

Pozdrawiam cool.gif

Przejdż do tego postu na forum wtorek, 29.12.2009 19:42stadi

Powiem tylko:
DOBRA ROBOTA!

Przejdż do tego postu na forum wtorek, 8.12.2009 07:49Siwy

a ja mam pytanko bo nie wszystko rozumiem jak nalezy, mianowicie chce by po wpisaniu do przegladarki moja.domena.org/phpmyadmin/ przekierowywalo kazdego usera do strony moja.domena.org (to jest jasne) ale jednoczesnie chce by po wejsciu na stronie glowna i zalogowaniu sie do serwisu oraz po wybraniu odpowiedniego linka byla mozliwosc wejscia w ten katalog, konkretnie mozliwosc wywolania http://forum.magazynyinternetowe.pl/index.php? dziekuje za pomoc

Przejdż do tego postu na forum niedziela, 1.11.2009 19:33????

Chciałem zablokować dostęp z "zewnątrz" do playlisty w formacie xlm. Playlista jest wywoływana przez playera flash wiec odpada metoda HTTP_REFERER odpada bo zmianna ma wartość pustą.

Przejdż do tego postu na forum wtorek, 27.10.2009 16:17Juin

deny from 123.456.789.000
oczywiście, nie ma takiego IP wink.gif co powoduje błąd zw. z .htaccess

Przejdż do tego postu na forum piątek, 17.07.2009 18:47kropek4767

no wreszcie, krótko, zwieźle i na temat

Przejdż do tego postu na forum wtorek, 7.07.2009 15:46Larry

ależ to świetnie i wyczerująco przedstawione!
Aż miło było poczytać.

Przejdż do tego postu na forum środa, 20.05.2009 05:55Paweł

Kiedyś używałem Rewrite do przenoszenia ze starego na nowy adres strony. Niestety oszukiwało to statystyki, bo "gubił się" HTTP_REFERER i w efekcie przeszedłem na php header('Location: ....');. Być może niesłusznie i htacces może również "przemycić" adres z przekierowania.
Jest ktoś w stanie mi pomóc?

Przejdż do tego postu na forum wtorek, 12.05.2009 14:21Krzysztof

Fajnie smile.gif

Przejdż do tego postu na forum poniedziałek, 2.03.2009 16:55Cardrone

CYTAT(dariusz_w @ 28.02.2009)
Wreszcie się znalazł jeden silny który tego dokonał i przełamał tabu htacces


A były jakieś ? Nic mi nie wiadomo rolleyes.gif

Przejdż do tego postu na forum sobota, 28.02.2009 12:43dariusz_w

Wreszcie się znalazł jeden silny który tego dokonał i przełamał tabu htacces

Gratulacje i wielkie podziękowania

Przejdż do tego postu na forum czwartek, 26.02.2009 20:09Cardrone

Świetny artykuł, szczególnie że ma podobny się na papierze (przyp. IM 1/08) wink.gif

Przejdż do tego postu na forum poniedziałek, 23.02.2009 09:59miecio

Popieram zdanie przedmówców. W końcu wszystkie informacje które są potrzebne znajdują się w jednym miejscu. Na dodatek ładnie, przejrzyście przedstawione.
Gratuluję Paulino dobrej redakcji.

Przejdż do tego postu na forum wtorek, 21.10.2008 22:35Plemnik

No w końcu normalne, przejrzyste informacje nt. .htaccess smile.gif

Przejdż do tego postu na forum środa, 11.06.2008 15:51demonik

bardzo fajnie, jasno i przejrzyście
dzięki

Zobacz wszystkie komentarze »

Autor

Paulina Roszczyńska

Redaktor prowadzący serwisu MagazynyInternetowe.pl, ponadto pisze artykuły do Internet Maker i Magazyn Internet. Wolne chwile lubi spędzać na długich spacerach pod miastem.

Artykuły tego autora:

Newsletter

Jesli chcesz być na bieżąco z tym co się dzieje na stronie magazynu INTERNET Maker zapisz się do naszego newslettera.