Astăzi vom trece peste câteva utilizări practice ale fișierelor htaccess pe care le puteți utiliza în aplicațiile dvs. web.
Fișierele Htaccess sunt fișiere de configurare de text simplu folosite de serverul web HTTP Apache. Ele permit utilizatorilor să stabilească opțiuni la nivel de director fără a fi nevoie de acces la httpd.conf fişier. Ca atare, este necesar ca serverul să utilizeze Apache și o gazdă web care permite htaccess (cele mai populare gazde fac).
Îmi presupun o cunoaștere de bază a htaccess, dar dacă trebuie să vă împrospătați, verificați acest articol de Joseph Pecoraro
Hotlinking sau linking inline este atunci când un site web se leagă direct de un obiect de pe un alt site. Acest lucru costă lățimea de bandă a site-ului pentru a oferi imaginea pe pagina celui de-al doilea site. Pe site-urile populare de fotografie aceasta poate fi o problemă majoră, deși uneori umoră.
Există modalități de a rezolva această problemă în creștere utilizând htaccess. Mai întâi aici este imaginea pe care încercăm să o protejăm.
RewriteEngine pe RewriteCond% HTTP_REFERER! ^ $ #Domeni care pot conecta la imagini #add cât doriți RewriteCond% HTTP_REFERER! ^ Http (s)?: // (www \.)? Demo.collegeaintcheap.com [NC] # RewriteCond% HTTP_REFERER! ^ Http (s) ?: // (www \.)? Noahhendrix.com [NC] # nu are nicio imagine atunci când este fierbinte RewriteRule \ (jpg | png | gif) NC, F, L]
Vom trece prin această linie-linie.
Acest lucru este destul de simplu, dar probabil că suntem interesați să îi spunem utilizatorului că nu vrem să ne facă legătura cu imaginile noastre, așa că să redirecționăm toate cererile la o imagine în loc să trimitem o eroare interzisă de 403. Aceasta se face prin înlocuirea ultimei linii cu acest cod.
#show o imagine alternativă RewriteRule \. (jpg | png | gif) $ http://demo.collegeaintcheap.com/envato/htaccess/hotlink/images/hotlink.jpeg [NC, R, L]
Puteți schimba urlul pe orice cale de imagine dorită pe domeniul dvs., dar amintiți-vă că nu trebuie să se termine în jpg, png sau gif, deoarece va aplica din nou regula și va trimite serverul într-o buclă neterminată. Am ales să utilizez extensia .jpeg mai veche pentru a repara acest lucru. R steagul care a înlocuit F trimite pur și simplu o redirecționare.
Acesta este un sfat foarte mic dacă aveți un spammer pe site-ul dvs. Web. Dacă găsiți adresa IP în jurnalele dvs., pur și simplu adăugați-o într-un fișier htaccess.
Ordonare Deny, Permite Deny de la 24.121.202.23 # Deny from 0.0.0.0
Folosind directiva Ordine din modulul mod_access putem specifica IP-urile pentru a le nega și a le permite. Pur și simplu folosind sintaxa Se refuză de la ADDRESS IP putem interzice acelor utilizatori să acceseze directorul nostru.
Toate site-urile gata de producție ar trebui să utilizeze pagini personalizate de eroare pentru o atingere profesională. Acest lucru este ușor prin utilizarea directivei ErrorDocument din nucleul Apache. O pagină particularizată este mult mai bună decât paginile implicite de eroare Apache.
ErrorDocument 404 http://demo.collegeaintcheap.com/envato/htaccess/errors/404.html ErrorDocument 403 http://demo.collegeaintcheap.com/envato/htaccess/errors/403.html ErrorDocument 500 http: // demo. collegeaintcheap.com/envato/htaccess/errors/500.html
ErrorDocument ia două argumente cod de eroare și document. În codul de mai sus am creat documente de eroare pentru cele mai frecvente 3 erori HTTP: 404 nu a fost găsit, 403 eroare interzisă și 500 server. Apoi, puteți furniza adresa URL completă sau calea relativă a documentelor de eroare. De asemenea, le puteți redirecționa către un script PHP care înregistrează erorile într-o bază de date sau le trimite prin e-mail (poate fi enervant). Aceasta este o modalitate excelentă de a prelua controlul asupra erorilor din aplicația dvs. web, asigurați-vă că ați verificat pagina de eroare 404 a paginii de eroare Smashing Magazine pentru inspirație.
Dacă efectuați o actualizare majoră a site-ului, cel mai probabil ar trebui să redirecționați utilizatorii către o pagină care le informează. Acest lucru împiedică utilizatorii să vadă pagini sparte sau posibile găuri de securitate în timp ce aplicația se încarcă. Un avertisment de luat în considerare este că dorim să permitem anumite adrese IP în site pentru testare înainte de a intra în viață, toate acestea pot fi obținute într-un fișier htaccess.
RewriteEngine pe RewriteCond% REQUEST_URI! /Upgrade.html$ RewriteCond% REMOTE_HOST! ^ 24 \ .121 \ .202 \ .30 RewriteRule $ http://demo.collegeaintcheap.com/envato/htaccess/upgrade/upgrade. html [R = 302, L]
Folosim din nou motorul de rescriere pentru a face acest lucru, dar într-un fel invers. Mai întâi trebuie să setăm o condiție care exclude documentul care descrie actualizarea, altfel serverul nostru începe o buclă fără sfârșit. În continuare, excludem ca o singură adresă IP să fie redirecționată în scopuri de testare. În cele din urmă, vom folosi regula de rescriere pentru a trimite utilizatori către o pagină de actualizare. Steagurile pe care le-am analizat anterior, cu excepția momentului în care setăm redirecționarea către un cod de stare de 302, spunând browser-ului că pagina sa mutat temporar și pentru a gestiona în mod corespunzător cache-ul. Smashing Magazine, din nou, are o mare prezentare a paginilor de întreținere eficiente.
Din numeroase motive de securitate, este o idee bună să restricționați înregistrarea directoarelor, comportamentul implicit în Apache. Acest lucru se poate face printr-o linie simplă în fișierul nostru htaccess, care îi împiedică pe vizitatori să vadă lista noastră de directoare.
Opțiuni -Index
Acum, utilizatorii care solicită un director care nu are un fișier index, le va afișa o pagină de eroare 403 interzisă.
Acestea sunt câteva dintre utilizările mele preferate de htaccess. Lăsați-vă în comentarii! Sunt disponibil pentru ajutor în comentarii sau pe twitter. Dacă există un mare interes, voi face mai multe tutoriale htaccess cu soluții la solicitările dumneavoastră în comentarii. Vă mulțumim pentru lectură!