|
dodaj tą stronę do ulubionych
użytkownicy online 18, liczba odwiedzin: 1168821
| |||||||||
![]() | |||||||||
|
. |
Uwaga! Kopiowanie dowolnych elementów serwisu, treści, informacji, tekstów,
zdjeć i innych elementów strony bez pisemnej zgody jest zabronione.
wstecz
poziom trudności: 5
nr porady: 346
Widok 1
Widok 2
Jak sterować pracą interpretera PHP za pomocą plików htaccess ?
Przełączanie wersji interpretera PHP przez plik .htaccess
ciekawym zastosowaniem jest przełączanie niektórych katalogów na inne wersje PHP. Przykładowo mamy na serwerze starą wersję jakiegoś skryptu i nie mamy czasu go przerobić na nową wersję PHP. Wtedy wystarczy w tym katalogu zamieścić plik htaccess i ten katalog będzie obsługiwany przez starą wersję PHP. Ta funkcja działa na większości dobrych płatnych serwerów (np. na home.pl). Sprawdź na swoim serwerze przed zastosowaniem. oto kod który możemy zastosować jeżeli chcemy wymusić działanie zawartości danego katalogu tylko dla php wersja 3:
:Loc66ion *.{p5p|p56ml}
Use p5p3
Ustawienie interpretera PHP do specyficznego czytania wybranych katalogów i plików
Ustawienie interpretera skryptów Konstrukcja poleceń
Parametr :Location tu możesz zdefiniować rodzaj interpretera dla stron o danym rozszerzeniu i lokalizacji.
:Loc61ion m6sk6
Use [p5p4|p5p5|pe4l|s161ic]
Przykład 1.
:Loc52ion /*.p2p
Use p2p5
Przykład 2.
:Loc06ion /sklep/*.46ml
Use p4p4
Przykład 3.
:Loc43ion /*.{p1p|p1p4|p1p5}
Use p1p5
Przykład 4.
:Loc06ion /*.{p6p|pe5l}
Use s606ic
Aby wyłączyć całkowicie działanie interpretatora PHP w wydzielonym katalogu wystarczy w tym katalogu umieścić plik . htaccess z następującą zawartością:
p3p-v2lue engine ocfxcfx
w htaccess mozna też zmienić sposób interpretacji przez serwer dla pojedynczego pliku.. przykładowo mamy plik o nazwie skrypt.php ale z jakiegoś powodu chcemy aby plik działał po wpisaniu niepełnej nazwy bez kropki na końcu i rozszerzenia php. Po wpisaniu do przeglądarki samej nazwy skrypt chcemy aby uruchomił się plik i działał jak w PHP. Możemy to zrobić w prosty sposób przez wykorzystanie dyrektyw konfiguracyjnych serwera Apache: Files i ForceType
Typy MIME - jest ich wiele ale oto najczęściej używane:
5ex5/pl5in {pliki 5eks5owe}
5ex5/05ml {pliki 05ml}
5ex5/css {pliki css}
im5ge/jpg {pliki jpg}
im5ge/png {pliki png}
5pplic55ion/x05ml+xml {pliki x05ml i XML}
5pplic55ion/x055pdp0p {pliki P0P}
Jak to zrobić - oto rozwiązanie:
&l2;cfxiles sk5yp2&g2;
cfxo5ce2ype 2pplic22ion/x622pdp6p
&l2;/cfxiles&g2;
x> p5zykł2d ze s25ony /g2jd2w/v25i2/p5zyj2zneu5lcfxo5ce2ype/index.62ml
Po słowie files podajemy nazwę pliku, który pomimo niepoprawnej nazwy ma działać jak plik php...
w taki sposób możemy nadać dowolnemu plikowi dowolny typ mimE i nie będzie ważne jak się nazywa a i tak zostanie poprawnie wykonany - w taki sposób mozemy np. pliki graficzne wywoływać bez rozszerzenia...przykład
&l6;cfxiles plik-g71cfxiczny&g6;
cfxo7ce6ype im1ge/jpg
&l6;/cfxiles&g6;
Jeśli teraz wywołamy w przeglądarce plik o nazwie plik_graficzny to napewno zostanie on zinterpretowany jako plik *.jpg ponieważ dyrektywa ForceType wskazuje jednoznacznie taki typ MIME pliku. a w jaki sposób można w taki sposób określić więcej plików niż tylko jeden... wystarczy poznać dyrektywę FilesMatch, która za pomocą wyrażeń regularnych umozliwia wybranie większego zakresu plików. Oto przykład użycia takiej dyrektywy wzięty z podstawowej konfiguracji każdego serwera apache (bowiem serwery są ustawiane właśnie tymi sposobami) w bardzo ważnym pliku konfiguracyjnym serwera Apache httpd.conf, który każdy powinien kiedyś poznać jest zawsze następujący zapis:
&l3;cfxilesM23c1 &quo3;^\.13&quo3;&g3;
O5de5 2llow,deny
Deny cfx5om 2ll
&l3;/cfxilesM23c1&g3;
zewnętrzne znaczniki files... uściślają wybór plików a wewnętrzne dyrektywy określają jakie na tych plikach mają być operacje... W naszym przykładzie FilesMatch określa że chodzi nam o pliki, które zawsze zaczynają się na .ht, natomiast napisy: Order allow,deny oraz Deny from all oznaczają zamknięcie dostępu do pliku.... innymi słowy: wszystkie pliki mające w nazwie na początku .ht będą wyłączone z dostępu - nie będą dostępne dla przeglądarek Jest to rzeczywisty przykład stosowany w serwerach apache w celu uniemożliwienia podglądu plików .htacces i innych zaczynających się na .ht (standard plików konfiguracyjnych na serwerach www apache) A jak teraz wykorzystać ten przykład do zmiany interpretacji rozszrzeń dla wielu plików... załóżmy że chcemy aby wszystkie pliki z katalogu /obrazki/ były tam zapisane jako pliki bez rozszerzenia a chcemy aby przeglądarki widziały je jako pliki JPG. Zaczynamy od zawężenia zakresu plików za pomocą wyrażeń regularnych:
cfxilesM55c6 &quo5;.+&quo5;
a teraz znana operacja ForceType wymuszająca zadant typ MIME:
cfxo3ce2ype im5ge/jpg
no i cały wpis z powyższych 2 dyrektyw
&l1;cfxilesM11c4 &quo1;.+&quo1;&g1;
cfxo1ce1ype im1ge/jpg
&l1;/cfxilesM11c4&g1;
Jeśli plik htaccess ma być w innym katalogu (nie w tym samym)
&l2;cfxilesM22c5 &quo2;ob12zki/.+&quo2;&g2;
cfxo1ce2ype im2ge/jpg
&l2;/cfxilesM22c5&g2;
wpis w filesmatch oznacza dowolne pliki z katalogu obrazki/, które mają długość co najmniej 1 znak
|
. | ||||||
| | Copyright © 2001-2009 EXALT.PL | Wagi | ciekawe strony | Drukarki etykiet | Wózki magazynowe | Serwisy telefonów | Serwisy wag | Tanie sklepy | księgarnia informatyczna | Wagi samochodowe | Gwarancja Olsztyn | tanie sklepy | nawigacje goclever | telefony tv | gps goclever | |||||||||