Dobrodošli, Gost. Molim vas prijavite se ili se registrujte.

Dodatni .htaccess trikovi za koje sigurno niste znali

Autor: M@jk! | Odgovori (morate se registrovati)

Na siteu možete imati više .htaccess fileova i to u svakome direktoriju po jednog. .htaccess ?e upravljati direktorijem u kojem se nalazi te svim njegovim poddirektorijima. Upravo zato je prakti?no (osim u slu?aju sa zaštitom direktorija) imati samo jedan .htaccess file u root direktoriju s kojim ?ete imati kontrolu nad cijelim vašim web siteom.

Izrada vlastitih error stranica

Ovo je jedna od naj?eš?e korištenih funkcija .htaccess filea. Kada posjetitelj nai?e na neku od standarnih grešaka, browser ?e mu otvoriti stranicu koju ste vi odredili za taj tip greške. Svrha toga nije da biste na tim stranicama ispisivali vaše duhovite poruke (mada ima i toga :), ve? da surferu pružite kvalitetno surfanje (nema ružnih blank-browserskih default stranica) i što je najvažnije - da ne izgubite surfera koji nai?e na grešku (uvijek ga možete preusmjeriti na neku drugu stranicu).

Primjer:
netko je prije dvije godine stavio neku stranicu vašeg sitea u favoritese i ide je upravo danas ponovo posjetiti. Vi ste naravno u me?uvremenu dosta toga promijenili i te stranice više nema. Recimo: http://www.monitor.hr/starastranica.htm - posjetite ovu stranicu i pogledajte što je surferu prikazano. Oni iskusniji ?e se naravno sna?i, ali dosta njih ?e iz ovoga smatrati da vaš site više ne postoji (odnosno taj sadržaj po koji su došli na stranicu) i tako ?ete izgubiti posjetitelje.

Upotrebom .htaccess-a možete dobiti ovakav odgovor na nepostoje?u stranicu:
http://www.besplatne-stvari.com/starastranica.htm

A sad na posao! Postoji više tipova grešaka što zna?i da ?ete za svaku trebati u posebnoj liniji odrediti adresu stranice koju želite da se otvara. Neke od grešaka:

400 BAD REQUEST
401 AUTHORIZATION REQUIRED
403 FORBIDDEN DOCUMENT
404 FILE NOT FOUND
500 INTERNAL SERVER ERROR


Ako netko nai?e na 404 grešku, biti ?e preusmjeren na vašu 404 stranicu kada u .htaccess file upišete 404 kôd:

ErrorDocument 404 http://www.domena/greske/stranica.htm

 
U ovom primjeru otvarat ?e se vaša stranica.htm koju ste spremili u direktorij greske. I za druge greške je postupak isti, npr. '500 Internal Server Error' ?e biti ErrorDocument 500 http://....

Dakle, otvorite novi dokument u nekom od tekstualnih editora (Notepad, Textpad...) i u njega pastajte sljede?i kôd:

ErrorDocument 400 http://www.vašadomena/greske/400.htm

ErrorDocument 401 http://www.vašadomena/greske/401.htm

ErrorDocument 403 http://www.vašadomena/greske/403.htm

ErrorDocument 404 http://www.vašadomena/greske/404.htm

ErrorDocument 500 http://www.vašadomena/greske/500.htm

 
Pritome naravno izmijenite podebljani tekst (naziv samih stranica ne mora biti ovakav i možete koristiti samo jednu stranicu da se prikazuje kod svih grešaka). File spremite kao .htaccess i pošaljite ga FTP-om u vaš root direktorij.


Izdvojeno - problemi sa spremanjem filea

Kod spremanja filea na disk možda ?ete nai?i na probleme. .htaccess je neobi?no ime za file (file nema 'ime' ve? samo ekstenziju od 8 znakova), pa se može dogoditi da vam pod Windowsima ne?e biti dozvoljeno snimiti ga pod tim imenom. U tom slu?aju ga snimite kao:

.htaccess.txt

i pošaljite na server te ga tamo pomo?u FTP programa preimenujte u pravilan naziv: .htaccess

Jasno, trebate izraditi i gore navedene stranice i staviti ih na server. Ako želite, možete na svakoj stranici napisati opis greške koji dolazi uz nju (npr. 404 - 'došlo je do greške, stranica ne postoji. Molimo vas da obavijestite webmastera na email.' ili 403 - 'nemate pristup zašti?enoj stranici'. Ili jednostavno staviti preusmjeravanje sa svake stranice na vašu po?etnu stranicu.
Izmjena defaultne stranice na serveru

Na ve?ini servera po?etna stranica mora imati naziv 'index'. Kada se pristupa nekom direktoriju na vašem siteu, npr: http://www.vasa-domena.com/, automatski se vrši redirekcija na http://www.vasa-domena.com/index.html (ili neka druga ekstenzija). To tako?er možete promijeniti.

Odgovori

Strana: [1]
xx Odg: Dodatni .htaccess trikovi za koje sigurno niste znali
Komentar 1 | od strane M@jk! | Datum: Август 09, 2007, 01:28:18


Npr. želite da se stranica zove necudasezoveindex.php. Potrebno je dodati sljede?e u .htaccess file:

DirectoryIndex necudasezoveindex.php

To ?e onda biti stranica koja ?e se automatski otvarati prilikom pozivanja direktorija u kojem se nalazi.

 
Korištenje SSI-a na stranicama sa .html ili .htm ekstenzijama

Ako vam je na serveru podešeno da se SSI može izvršavati isklju?ivo sa .shtml (.shtm) stranica, a iz odre?enih razloga ne želite odstupati od standardnih ekstenzija, opet vam može pomo?i .htaccess! Dodajte sljede?e linije u svoj .htaccess file:

AddType text/html .shtml .shtm .html .htm AddHandler

   server-parsed .shtml .shtm .html .htm




Korištenje PHP-a na stranicama sa .html ili .htm ekstenzijama

Izvršavanje PHP-a na .html stranici? Opet .htaccess. Dodajte ovu liniju:

AddType application/x-httpd-php .html .htm .php


 
Zabrana pristupa stranici odre?enim IP adresama

Mogu?e je zabraniti pristup i odre?enim IP adresama. Stavite sljede?e linije u .htaccess:

<Limit GET>

   order allow,deny

   deny from xxx.xxx.xxx.x

   allow from all

   </Limit>

Gdje je xxx.xxx.xxx.x neka IP adresa kojoj želite zabraniti pristup. Ako želite staviti još adresa, samo kopirajte 'deny from xxx.xxx.xxx.x' u red niže i izmijenite IP.

U Hrvatskoj ve?ina korisnika-pojedinaca ima druk?iju IP adresu prilikom svakog spajanja na internet, pa ?e biti malo teže zabraniti pristup nekome pojedina?no. Zato možete zabraniti pristup cijeloj skupini korisnika tako što ?ete zabranu postaviti na sve IP adrese koje sadržavaju odre?ene brojke. Primjer: probajte ovo ako ne želite vidjeti Hinet korisnike na vašim stranicama:

<Limit GET>

   order allow,deny

   deny from 195.29

   allow from all

   </Limit>

Takvo nešto se može napraviti i elegantnije, na ovaj na?in:

<Limit GET>

   order allow,deny

   allow from all

   deny from hinet.hr
</Limit>

Tako?er je mogu?e svima zabraniti pristup, a dopustiti samo odabranima. U tom slu?aju stavit ?ete:

<Limit GET>

   order deny,allow

   deny from all

   allow from xxx.xxx.xxx.x

   </Limit>

Gdje je xxx.xxx.xxx.x IP adresa kojoj želite dati pristup vašim stranicama.

Zabrana linkanja na fileove sa vašeg servera

Bandwidth vam je preskup ili imate neki drugi razlog zašto vam ne odgovara da se na vaše fileove (grafike, zipove...) linka direktno sa drugih stranica? Primjer: na serveru imate file popularni-jole.mp3 za kojim je velika potražnja na internetu pa ga i drugi webmasteri žele ponuditi svojim posjetiteljima na download, a pritome su kao download link postavili
http://www.vasadomena.com/narodna/popularni-jole.mp3 te vam tako troše bandwidth.

Postavite sljede?e linije u vaš .htaccess file, i nakon toga ?e se Jole mo?i downloadirati samo s vaše domene:
AuthUserFile /dev/null AuthGroupFile /dev/null RewriteEngine On RewriteCond %{HTTP_REFERER}!>http://www.vasa-domena.com[NC] RewriteCond %{HTTP_REFERER}!>http://www.nekadrugadomena.com[NC] RewriteCond %{HTTP_REFERER}!>http://xxx.xxx.xxx[NC] RewriteRule /*http://www.vasa-domena.com/stranica.htm[R,L]

"RewriteCond %{HTTP_REFERER}!>http://...[NC]" je linija u koju stavljate URL sa kojega se fileovi smiju preuzimati. Kao i dosad, i ovdje možete dodavati nove linije istoga naziva i tako npr. omogu?iti download i s nekog drugog (prijateljskog :-) sitea. Brojevi xxx.xxx.xxx su IP adresa vašega sitea.

"RewriteRule /*http://www.vasa-domena.com/stranica.htm[R,L]" je stranica na koju ?e se vršiti redirekcija ukoliko pristup fileu nije nastupio sa dozvoljenih domena.

Vjerojatno nije najbolje rješenje da ovo postavite u .htaccess koji se nalazi u rootu. Radije napravite poseban direktorij i u njega postavite .htaccess i fileove za koje ne želite da ih se linka sa drugih stranica.
A kako zaštititi same .htaccess fileove?

Vaše .htaccess fileove može pro?itati svatko tko ih upiše u browser. Vjerojatno ne želite da se to doga?a (posebno ne ako se unutra može pro?itati lokacija .htpasswd fileova), pa se zato možete poslužiti metodom zabrane pristupa svim .htaccess fileovima - sljede?i kôd pastajte u .htaccess file koji vam se nalazi u rootu:

 <Files .htaccess>

   order allow,deny

   deny from all

   </Files>

 

pa ne?e biti mogu? pristup niti jednom .htaccess fileu na vašem serveru.

To bi bilo sve od mene u vezi sa ovom temom. Po još znanja možete oti?i na http://apache-server.com/tutorials/ ili neku sli?nu stranicu koja se puno detaljnije i stru?nije bavi ovim temama.

Pretraga


Internet shumers
[1]
| Stranica je napravljena za 1.866 sekundi sa 31 upita.