Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Programe
  • Soluții practice pentru utilizarea fișierului .htaccess. exemple htaccess

Soluții practice pentru utilizarea fișierului .htaccess. exemple htaccess

Dacă instalați WordPress pe propria găzduire, atunci veți avea posibilitatea de a gestiona directorul rădăcină. Astăzi vreau să vă spun despre fișierul .htaccess, care este important din mai multe motive. Cu acesta, puteți seta diverse setări de securitate, adăugați condiții de redirecționare, blocați roboții, vă protejați propriul blog de spammeri și multe altele. Cu toate acestea, mulți utilizatori WordPress încă nu știu nimic despre .htaccess și despre cum să creeze unul special pentru WP. Astăzi vă voi prezenta numeroasele aspecte ale acestui fișier și, în viitor, vă voi împărtăși fragmente de cod utile și eficiente, concepute pentru a îmbunătăți securitatea blogului dvs.

Ce este un fișier .htaccess?

Htaccess nu este doar pentru WordPress, ci și pentru orice site web găzduit pe un server web Apache. La instalarea WordPress, acest fișier este creat implicit în cele mai multe cazuri, dar rămâne ascuns în directorul rădăcină al site-ului dvs. Există momente când acest fișier lipsește cu totul și atunci trebuie să creați manual fișierul .htaccess. Putem folosi un editor de text obișnuit pentru a actualiza sau șterge conținutul acestui fișier. În WordPress, conținutul standard al acestui fișier arată astfel:

# BEGIN WordPress RewriteRule ^index\.php$ – [L] RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_FILENAME) !-d RewriteRule . /index.php [L] # END WordPress

Dacă aveți o întrebare despre cum să editați link-uri profunde în WordPress și să le dați formatul /%postname? și chiar ați găsit un cod de lipit în fișierul .htaccess (dar nu puteți găsi fișierul în consola sistemului sau rădăcină) director) apoi astăzi vă voi arăta cum să rezolvați această problemă.

Cum se creează un fișier .htaccess pentru WordPress?

În majoritatea instalărilor WordPress, un fișier .htaccess este prezent implicit în directorul rădăcină. Dacă utilizați clientul FTP Filezilla, puteți consulta ghidul existent despre cum să editați fișierul .htaccess pentru ajutor. Tot ce trebuie să faceți este să faceți clic pe opțiunea pentru a afișa fișierele ascunse. Dacă fișierul de care avem nevoie lipsește cu totul, atunci îl puteți crea pur și simplu folosind notepad (htaccess.txt) și apoi îl redenumiți în .htaccess. Asigurați-vă că numele fișierului este exact acesta și nu .htaccess.txt. Dacă utilizați Windows, puteți dezactiva opțiunea de a ascunde extensiile de fișiere. Odată ce redenumiți fișierul, încărcați-l în directorul rădăcină WordPress și editați-l conform cerințelor dvs. Dacă aveți probleme la schimbarea numelui fișierului, pur și simplu încărcați fișierul htaccess.txt pe server și schimbați numele pe server.

Permisiunile standard de securitate pentru fișierul .htaccess sunt 644, dar dacă modificați legăturile directe prin consola WP, sistemului i se va refuza accesul la acest fișier. Le puteți schimba la 777. Dar asigurați-vă că apoi returnați valoarea la 644, altfel ar putea cauza găuri serioase de securitate în site.

Fișierul .htaccess este unul dintre acele fișiere pe care fiecare administrator de site ar trebui să le cunoască și să le înțeleagă. La un nivel de bază, controlează accesul la folderele site-ului. Dar există multe alte sarcini pe care htaccess le poate rezolva pentru tine.

1. Controlul accesului la fișiere și directoare

Protecția prin parolă este un aspect al problemei, dar uneori trebuie să blocați complet accesul unui utilizator la anumite fișiere sau directoare. Astfel de sarcini apar de obicei pentru folderele de sistem, de exemplu, includ . Aplicația trebuie să aibă acces la ele, iar utilizatorul pierde toate privilegiile.

Pentru a rezolva problema, adăugați următorul cod în fișierul .htaccess și salvați-l în directorul dorit:

Dar o astfel de mișcare blochează accesul pentru toată lumea, inclusiv pentru tine. Pentru a asigura accesul, trebuie să specificați adresa dvs. IP. Iată codul:

Comanda refuzată, permite refuzul de la toate permise de la xxx.xxx.xxx.xxx

xxx.xxx.xxx.xxx este adresa dvs. IP. Dacă înlocuiți ultimele trei cifre cu 0/12, de exemplu, va fi indicat intervalul de adrese IP dintr-o rețea. Dar această abordare poate duce la probleme, așa că este mai bine să specificați separat lista de adrese IP.

Dacă trebuie să blocați un anumit fișier, inclusiv .htaccess, utilizați următorul cod:

ordona permite, nega nega de la toti

De asemenea, dacă trebuie să permiteți accesul de la anumite adrese IP, enumerați-le folosind permite de la .

Dacă trebuie să blocați accesul la anumite tipuri de fișiere, utilizați următorul cod:

Comanda Permite, Refuza Refuza de la toți

2. Interzicem vizualizarea directorului

Pentru a preveni vizualizarea conținutului unui director, utilizați următorul cod:

Opțiuni Toate -Indici

Dar dacă trebuie să permiteți navigarea în director dintr-un anumit motiv, utilizați următorul cod:

Opțiuni Toate +Indecși

3. Accelerează descărcările prin comprimarea fișierelor

Puteți comprima orice fișier, nu doar imagini. De exemplu, pentru a comprima fișiere HTML, utilizați următorul cod:

AddOutputFilterByType DEFLATE text/html

Și pentru compresia textului:

AddOutputFilterByType DEFLATE text/plat

De asemenea, puteți comprima fișiere JavaScript sau puteți defini mai multe tipuri de fișiere pentru arhivare:

Aplicația AddOutputFilterByType DEFLATE/javascript Aplicația AddOutputFilterByType DEFLATE/rss+xml

Alternativ, puteți comprima toate fișierele HTML, JavaScript, CSS și alte fișiere folosind GZIP:

mod_gzip_on Da mod_gzip_dechunk Da mod_gzip_item_include fișier \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text\.* mod_gzip_include mime_cluz.* de mime ^ imagine\.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

4. Protejarea site-ului de hotlinking

Dacă doriți să împiedicați conectarea la hotlink a imaginilor de pe site-ul dvs., adăugați următoarele rânduri în fișierul dvs. .htaccess:

RewriteEngine on RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http(s)?://(www\.)?yourdomain.ru RewriteRule \.(jpg|jpeg|png|gif)$ -

Înlocuiește doar domeniul tău.ru cu numele tău de domeniu.

5. Blocarea utilizatorilor redirecționați dintr-un anumit domeniu

Dacă nu primiți bun venit utilizatorii unui anumit domeniu, îi puteți interzice de pe site-ul dvs. De exemplu, dacă site-ul dvs. este listat de unde nu se dorește trafic (de exemplu, site-uri pornografice, resurse neo-naziste etc.), atunci îl puteți bloca folosind o pagină 403 (interzice accesul). Mod_rewrite trebuie să fie activat (de obicei este activat). Adăugați codul:

RewriteEngine pe RewriteCond %(HTTP_REFERER) bannedurl1.com RewriteCond %(HTTP_REFERER) bannedurl2.com RewriteRule .* - [F]

Trebuie să înlocuiți bannedurl1.com și bannedurl2.com cu nume de domenii din lista neagră. Steagul indică faptul că numele domeniului nu face distincție între majuscule și minuscule, iar indicatorul [F] determină acțiunea - în exemplul nostru, afișarea unei pagini 403. Dacă trebuie să interziceți mai multe site-uri, utilizați steag pentru fiecare domeniu, inclusiv pentru ultimul. . Pentru a interzice un singur domeniu, puteți utiliza doar steag.

6. Blocarea cererilor de la anumiți agenți

Dacă ați înregistrat activitate de la anumiți agenți utilizatori (boți sau păianjeni) care nu vă plac, puteți adăuga câteva rânduri la fișierul dvs. .htaccess pentru a împiedica acești agenți să vă acceseze site-ul:

RewriteEngine On RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase User-Agent "^badusbot3" Deny de la en_v=badbot3"

7. Memorarea fișierelor în cache

O altă metodă de a vă face site-ul să se încarce mai rapid este prin memorarea în cache a fișierelor. Iată ce trebuie să adăugați la fișierul dvs. .htaccess pentru a activa stocarea în cache:

Set antet Cache-Control „max-age=2592000”

Puteți adăuga tipuri de fișiere (sau elimina unele dintre ele) la lista din exemplu. De asemenea, puteți utiliza max-age pentru a specifica timpul în secunde pentru stocarea fișierelor în cache.

8. Dezactivați stocarea în cache pentru anumite tipuri de fișiere

Dacă nu aveți nevoie să memorați în cache anumite tipuri de fișiere, puteți pur și simplu să le lăsați din listă. Cu toate acestea, uneori fișierele pot fi stocate în cache chiar dacă nu le-ați declarat în listă. În astfel de cazuri, puteți dezactiva stocarea în cache numai pentru aceste tipuri de fișiere. În cele mai multe cazuri, trebuie să dezactivați stocarea în cache pentru fișierele dinamice, cum ar fi scripturile. Iată codul:

Antetul dezactivat Cache-Control

Doar adăugați tipuri de fișiere care nu trebuie să fie stocate în cache în listă.

9. Omite dialogul de descărcare

În mod implicit, atunci când descărcați un fișier de pe un server web, apare un dialog care vă cere să faceți ceva cu fișierul (salvați sau deschideți). Acest dialog este foarte enervant atunci când descărcați fișiere media mari sau documente PDF. Dacă fișierele sunt încărcate pe serverul dvs. pentru ca utilizatorul să le descarce, atunci puteți începe procesul imediat. Trebuie să puneți următoarele linii în fișierul .htaccess:

Aplicație AddType/octet-stream .pdf Aplicație AddType/octet-stream .zip Aplicație AddType/octet-stream .mp3

10. Redenumirea fișierului .htaccess

Din anumite motive, de obicei legate de securitate, poate fi necesar să redenumiți fișierul .htaccess. Ceea ce este foarte ușor de făcut. În teorie, redenumirea fișierului .htaccess nu ar trebui să provoace probleme cu rularea aplicațiilor pe serverul dvs., dar dacă acestea apar brusc, trebuie doar să restaurați numele original.

AccessFileName htac.cess

De asemenea, trebuie să actualizați toate intrările din fișierul în sine și unde este menționat .htaccess, altfel vor apărea o mulțime de erori.

11. Modificarea paginii de index implicite

Dacă aveți nevoie ca pagina de index să fie diferită de cea implicită, index.html, index.php, index.htm etc., atunci această sarcină este ușor de rezolvat. Iată ce trebuie să adăugați la fișierul dvs. .htaccess:

DirectoryIndex pagina mea.html

Înlocuiți mypage.html cu adresa URL a paginii dorite.

12. Redirecționați către o conexiune https securizată

Dacă utilizați https și doriți ca toți utilizatorii să fie redirecționați către acesta, atunci următorul cod vă va ajuta:

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

13. Limitarea dimensiunii fișierului de încărcare PHP, dimensiunea maximă a cererii și timpul maxim de execuție a scriptului

Htaccess vă permite să setați niște valori care afectează aplicațiile PHP. De exemplu, dacă trebuie să limitați descărcările în PHP pentru a economisi spațiu de găzduire, utilizați următorul cod:

Php_value upload_max_filesize 15M

Desigur, puteți seta valoarea după cum este necesar, în exemplul nostru 15M (MB) nu este fix. De asemenea, puteți limita dimensiunea maximă a cererii pentru încărcare în PHP:

Php_value post_max_size 10M

Schimbați 10M la orice valoare aveți nevoie.

Dacă nu doriți ca scriptul să ruleze pentru totdeauna, puteți limita timpul de rulare al acestuia:

Php_value max_execution_time 240

240 - numărul de secunde înainte ca scriptul să fie întrerupt.

Dacă trebuie să limitați timpul pentru ca scriptul să analizeze datele introduse, utilizați următoarea linie:

Php_value max_input_time 180

14. Mascarea tipului de fișier

Uneori trebuie să ascundeți de utilizator tipurile de fișiere de pe server. O modalitate de a rezolva problema este deghizarea acestora. De exemplu, puteți face acest lucru. că toate fișierele vor arăta ca HTML sau PHP:

Aplicația ForceType/x-httpd-php Aplicația ForceType/x-httpd-php

Concluzie

Există mult mai multe sarcini pe care .htaccess le poate rezolva. De exemplu, puteți seta traducerea automată a paginilor site-ului sau un fus orar sau puteți elimina www de la adresa URL și multe altele. Dar înainte de a începe să experimentați cu .htaccess, ar trebui să faceți întotdeauna o copie de rezervă a originalului, astfel încât să puteți reveni la codul sursă.

Am văzut deja câteva dintre rețetele date pe Habré, dar împrăștiate și nu toate sunt enumerate mai jos.

Fiecare dezvoltator web știe despre scopul fișierului .htaccess. La un nivel de bază, vă permite să controlați accesul la directoarele site-ului. Dar adăugând diverse bucăți suplimentare de cod la acesta, puteți face multe alte lucruri interesante cu el.

Deci, exemple utile de utilizare. htaccess:

1. Controlul accesului la fișiere și directoare

Protecția prin parolă este un lucru, dar uneori poate doriți să blocați complet accesul utilizatorilor la un anumit fișier sau folder. Aceasta se referă de obicei la folderele de sistem, cum ar fi include, la care aplicațiile ar trebui să aibă acces, dar nu utilizatorii.

Pentru a face acest lucru, plasați acest cod într-un fișier. htaccess și salvați-l în directorul la care blocați accesul:

Negați de la toți

Cu toate acestea, rețineți că accesul va fi blocat pentru toți utilizatorii, inclusiv pentru dvs. Puteți deschide accesul pentru un anumit utilizator prin înregistrarea adresei sale IP. Iată codul de care veți avea nevoie pentru asta:

Comanda refuzată, permite refuzul de la toate permise de la xxx.xxx.xxx.xxx

unde xxx. xxx. xxx. xxx este IP-ul tău. Pentru a seta intervalele permise de adrese IP, puteți înlocui ultimele trei cifre. De exemplu, scriind „0/12” în schimb, veți specifica un interval de adrese IP pentru o singură rețea, ceea ce vă va scuti de a fi necesar să introduceți separat toate adresele IP permise în listă.

Dacă doriți să blocați accesul la un anumit fișier, inclusiv dvs. htaccess, utilizați următorul fragment de cod:

ordona permite, nega nega de la toti

Dacă doriți să specificați adrese IP specifice cărora ar trebui să li se refuze accesul, enumerați-le utilizând permite de la.

Dacă doriți să blocați accesul la un anumit tip de fișier, utilizați acest cod:

Comanda Permite, Refuza Refuza de la toți

2. Interzicerea vizionarii directoarelor

Pentru a preveni vizualizarea directoarelor site-ului, adăugați următorul cod la .htaccess:

Opțiuni Toate -Indici

Dacă dintr-un motiv oarecare doriți să permiteți navigarea în toate directoarele, utilizați codul:

Opțiuni Toate +Indecși

3. Accelerează timpii de încărcare prin comprimarea fișierelor

Puteți comprima fișiere de orice tip. De exemplu, pentru a comprima fișiere HTML, adăugați codul:

AddOutputFilterByType DEFLATE text/html

Pentru a comprima fișierele text, utilizați:

AddOutputFilterByType DEFLATE text/plat

Puteți, de asemenea, să comprimați JavaScript sau să activați compresia pentru alte tipuri diferite de fișiere cu comenzile:

Aplicația AddOutputFilterByType DEFLATE/javascript Aplicația AddOutputFilterByType DEFLATE/rss+xml

În plus, puteți comprima toate fișierele JavaScript, HTML și CSS folosind GZIP. Pentru a face acest lucru, utilizați următorul cod:

mod_gzip_on Da mod_gzip_dechunk Da mod_gzip_item_include fișier \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text\.* mod_gzip_include mime_cluz.* de mime ^ imagine\.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

4. Protejarea site-ului de inserarea de imagini din alte resurse

Dacă doriți să împiedicați adăugarea de legături către imagini din resurse terțe, adăugați următorul cod în fișierul .htaccess:

RewriteEngine on RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ -

Nu uitați să înlocuiți domeniul dumneavoastră.com cu numele domeniului dumneavoastră.

5. Blocarea vizitatorilor care provin dintr-un anumit domeniu

Dacă nu doriți să vedeți utilizatori dintr-un anumit domeniu pe site-ul dvs., atunci le puteți refuza accesul. De exemplu, puteți redirecționa utilizatorii din resurse nedorite (site-uri pentru adulți, site-uri de hackeri etc.) către pagina 403 Interzis. Pentru a face acest lucru, trebuie să activați mod_rewrite, deși de obicei este activat implicit. Adăugați următorul cod la .htaccess:

RewriteEngine pe RewriteCond %(HTTP_REFERER) bannedurl1.com RewriteCond %(HTTP_REFERER) bannedurl2.com RewriteRule .* - [F]

Trebuie să înlocuiți bannedurl1.com și bannedurl2.com cu domeniile pe care doriți să le includeți pe lista neagră. Puteți utiliza un semnalizator pentru a indica faptul că numele de domeniu introdus nu face distincție între majuscule și minuscule. Indicatorul [F] indică tipul de acțiune, în acest caz afișând o eroare 403 Forbidden. Dacă doriți să blocați mai multe site-uri, utilizați steaguri pentru fiecare domeniu, dar dacă doriți să blocați utilizarea unui singur domeniu, utilizați doar steagul.

6. Blocarea cererilor de la anumite browsere

Dacă fișierele dvs. de jurnal conțin înregistrări ale vizitelor la browsere speciale (acestea ar putea fi roboți sau păianjeni care imit browserul), le puteți interzice accesul la site-ul dvs. adăugând câteva rânduri la. htaccess:

RewriteEngine On RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase User-Agent "^badusbot3" Deny de la en_v=badbot3"

Înlocuiți badbot1, badbot1 etc. cu numele botului din jurnal. Acest lucru va bloca accesul programelor terță parte a site-ului dvs.

7. Memorarea fișierelor în cache

Memorarea în cache a fișierelor este o altă modalitate de a vă face site-ul să se încarce mai rapid. Iată ce trebuie să introduceți în .htaccess:

Set antet Cache-Control „max-age=2592000”

Puteți adăuga mai multe tipuri de fișiere (sau elimina unele) la lista de fișiere listată în acest exemplu. De asemenea, puteți specifica durata de timp în care fișierele sunt stocate în cache (în secunde) utilizând variabila vârsta maximă.

8. Dezactivați stocarea în cache pentru diferite tipuri de fișiere

Dacă nu doriți să puneți în cache anumite tipuri de fișiere, le puteți lăsa din listă. Cu toate acestea, uneori fișierele pot fi stocate în cache chiar și fără a fi listate în mod explicit, caz în care puteți dezactiva memorarea în cache pentru ele individual. Cea mai frecventă nevoie de a dezactiva stocarea în cache este pentru fișierele dinamice, cum ar fi scripturile. Un exemplu de cod necesar pentru aceasta:

Antetul dezactivat Cache-Control

Pur și simplu specificați tipurile de fișiere pentru care doriți să dezactivați memoria cache.

9. Ocoliți dialogul de descărcare

În mod implicit, când încercați să descărcați un fișier de pe un server web, este afișat un dialog care vă întreabă dacă doriți să salvați fișierul sau să îl deschideți. Acest dialog este deosebit de enervant atunci când descărcați fișiere media sau PDF mari. Dacă fișierele pe care le-ați încărcat pe server sunt destinate exclusiv descărcarii, puteți face viața mai ușoară pentru utilizatori, făcând descărcarea ca acțiunea implicită. Adauga la. htaccess este următorul:

Aplicație AddType/octet-stream .pdf Aplicație AddType/octet-stream .zip Aplicație AddType/octet-stream .mp3

10. Redenumirea fișierului .htaccess

Dacă dintr-un motiv oarecare doriți să redenumiți fișierul .htaccess, atunci puteți face acest lucru. În teorie, redenumirea fișierului .htaccess nu ar trebui să provoace probleme cu aplicațiile care rulează pe serverul dvs., dar dacă observați că apar erori de scripting după redenumirea fișierului, atunci pur și simplu redenumiți-l.

AccessFileName htac.cess

În plus, toate intrările care menționează fișierul .htaccess trebuie actualizate, altfel vor apărea o mulțime de erori.

11. Înlocuirea paginii de start a site-ului

Dacă doriți să setați o pagină de pornire non-standard (index.html, index.php, index.htm etc.), adăugați următorul cod în fișierul dvs. .htaccess:

DirectoryIndex pagina mea.html

Înlocuiți mypage.html cu adresa URL a paginii pe care doriți să o utilizați ca pagină de pornire.

12. Redirecționați către o conexiune HTTPS sigură

Dacă utilizați HTTPS și doriți să redirecționați utilizatorii către pagini securizate de pe site-ul dvs., adăugați următoarele rânduri în fișierul dvs. .htaccess:

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

13. Limitarea dimensiunii maxime a fișierelor încărcate în PHP, dimensiunea maximă a datelor transferate, timpul maxim de execuție al scripturilor etc.

Htaccess vă permite să setați niște valori care afectează direct funcționarea aplicațiilor PHP. De exemplu, dacă doriți să setați o limită pentru dimensiunea fișierelor încărcate în PHP, pentru a nu vă înfunda găzduirea cu fișiere mari:

Php_value upload_max_filesize 15M

Puteți seta orice valoare, în exemplu dimensiunea fișierului este limitată la 15M (MB). În plus, puteți limita dimensiunea maximă a datelor transferate la încărcarea în PHP:

Php_value post_max_size 10M

Puteți înlocui 10M cu orice valoare doriți. Dacă nu aveți nevoie de scripturi pentru a rula constant, puteți limita timpul de execuție al acestora cu linia:

Php_value max_execution_time 240

240 - timpul de execuție (în secunde) după care scriptul va fi oprit, puteți schimba această valoare cu oricare alta. În cele din urmă, dacă doriți să limitați timpul de analiză a scriptului pe datele brute, utilizați următorul cod:

Php_value max_input_time 180

Setați în loc de 180 oricând doriți (în secunde).

14. Ascunderea tipurilor de fișiere

Uneori nu doriți ca utilizatorii să știe ce tipuri de fișiere sunt pe site-ul dvs. O modalitate de a ascunde aceste informații este ca toate fișierele să apară ca fișiere HTML sau PHP:

Aplicația ForceType/x-httpd-php Aplicația ForceType/x-httpd-php

Și aceasta este doar o parte din ceea ce poate face .htaccess, dar în general vă permite să faceți mult mai mult. De exemplu, puteți seta paginile site-ului dvs. să se traducă automat, să setați fusul orar al serverului, să eliminați WWW din URL-uri sau să utilizați vizualizări de directoare de lux etc. Dar, în orice caz, înainte de a începe să experimentați cu fișierul .htaccess, salvați întotdeauna o copie de rezervă a .htaccess original, astfel încât, dacă apar probleme, să puteți restaura rapid site-ul.

Fiecare dezvoltator web știe despre scopul fișierului .htaccess. La un nivel de bază, vă permite să controlați accesul la directoarele site-ului. Dar adăugând diverse bucăți suplimentare de cod la acesta, puteți face multe alte lucruri interesante cu el.

Dacă aveți nevoie de informații de bază despre scopul acestui fișier, atunci puteți obține o introducere la .htaccess din articolul nostru ( Nu am tradus acest articol, deoarece există elemente de bază acolo, există destule în segmentul în limba rusă a Web-ului, dar dacă se arată interes, atunci poate fi tradus pentru a completa imaginea - aprox. traducător), care acoperă toate aspectele aplicării sale în mod suficient de detaliat.

Deci, exemple utile de utilizare. htaccess:

1. Controlul accesului la fișiere și directoare
Protecția prin parolă este un lucru, dar uneori poate doriți să blocați complet accesul utilizatorilor la un anumit fișier sau folder. Aceasta se referă de obicei la folderele de sistem, cum ar fi include, la care aplicațiile ar trebui să aibă acces, dar nu utilizatorii.

Pentru a face acest lucru, plasați acest cod într-un fișier. htaccess și salvați-l în directorul la care blocați accesul:

Negați de la toți
Cu toate acestea, rețineți că accesul va fi blocat pentru toți utilizatorii, inclusiv pentru dvs. Puteți deschide accesul pentru un anumit utilizator prin înregistrarea adresei sale IP. Iată codul de care veți avea nevoie pentru asta:

Comanda refuzată, permite refuzul de la toate permise de la xxx.xxx.xxx.xxx
unde xxx. xxx. xxx. xxx este IP-ul tău. Pentru a seta intervalele permise de adrese IP, puteți înlocui ultimele trei cifre. De exemplu, scriind „0/12” în schimb, veți specifica un interval de adrese IP pentru o singură rețea, ceea ce vă va scuti de a fi necesar să introduceți separat toate adresele IP permise în listă.

Dacă doriți să blocați accesul la un anumit fișier, inclusiv dvs. htaccess, utilizați următorul fragment de cod:

ordona permite, nega nega de la toti
Dacă doriți să specificați adrese IP specifice cărora ar trebui să li se refuze accesul, enumerați-le utilizând permite de la.

Dacă doriți să blocați accesul la un anumit tip de fișier, utilizați acest cod:

Comanda Permite, Refuza Refuza de la toți

2. Interzicerea vizionarii directoarelor
Pentru a preveni vizualizarea directoarelor site-ului, adăugați următorul cod la .htaccess:

Opțiuni Toate -Indici
Dacă dintr-un motiv oarecare doriți să permiteți navigarea în toate directoarele, utilizați codul:

Opțiuni Toate +Indecși

3. Accelerează timpii de încărcare prin comprimarea fișierelor
Puteți comprima fișiere de orice tip. De exemplu, pentru a comprima fișiere HTML, adăugați codul:

AddOutputFilterByType DEFLATE text/html
Pentru a comprima fișierele text, utilizați:

AddOutputFilterByType DEFLATE text/plat
Puteți, de asemenea, să comprimați JavaScript sau să activați compresia pentru alte tipuri diferite de fișiere cu comenzile:

Aplicația AddOutputFilterByType DEFLATE/javascript Aplicația AddOutputFilterByType DEFLATE/rss+xml
În plus, puteți comprima toate fișierele JavaScript, HTML și CSS folosind GZIP. Pentru a face acest lucru, utilizați următorul cod:

mod_gzip_on Da mod_gzip_dechunk Da mod_gzip_item_include fișier \.(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text\.* mod_gzip_include mime_cluz.* de mime ^ imagine\.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

4. Protejarea site-ului de inserarea de imagini din alte resurse
Dacă doriți să împiedicați adăugarea de legături către imagini din resurse terțe, adăugați următorul cod în fișierul .htaccess:

RewriteEngine on RewriteCond %(HTTP_REFERER) !^$ RewriteCond %(HTTP_REFERER) !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ -
Nu uitați să înlocuiți domeniul dumneavoastră.com cu numele domeniului dumneavoastră.

5. Blocarea vizitatorilor care provin dintr-un anumit domeniu
Dacă nu doriți să vedeți utilizatori dintr-un anumit domeniu pe site-ul dvs., atunci le puteți refuza accesul. De exemplu, puteți redirecționa utilizatorii din resurse nedorite (site-uri pentru adulți, site-uri de hackeri etc.) către pagina 403 Interzis. Pentru a face acest lucru, trebuie să activați mod_rewrite, deși de obicei este activat implicit. Adăugați următorul cod la .htaccess:

RewriteEngine pe RewriteCond %(HTTP_REFERER) bannedurl1.com RewriteCond %(HTTP_REFERER) bannedurl2.com RewriteRule .* - [F]
Trebuie să înlocuiți bannedurl1.com și bannedurl2.com cu domeniile pe care doriți să le includeți pe lista neagră. Puteți utiliza un semnalizator pentru a indica faptul că numele de domeniu introdus nu face distincție între majuscule și minuscule. Indicatorul [F] indică tipul de acțiune, în acest caz afișând o eroare 403 Forbidden. Dacă doriți să blocați mai multe site-uri, utilizați steaguri pentru fiecare domeniu, dar dacă doriți să blocați utilizarea unui singur domeniu, utilizați doar steagul.

6. Blocarea cererilor de la anumite browsere
Dacă fișierele dvs. de jurnal conțin înregistrări ale vizitelor la browsere speciale (acestea ar putea fi roboți sau păianjeni care imit browserul), le puteți interzice accesul la site-ul dvs. adăugând câteva rânduri la. htaccess:

RewriteEngine On RewriteBase / SetEnvIfNoCase Referer "^$" bad_user SetEnvIfNoCase User-Agent "^badbot1" bad_user SetEnvIfNoCase User-Agent "^badbot2" bad_user SetEnvIfNoCase User-Agent "^badusbot3" Deny de la en_v=badbot3"
Înlocuiți badbot1, badbot1 etc. cu numele botului din jurnal. Acest lucru va bloca accesul programelor terță parte a site-ului dvs.

7. Memorarea fișierelor în cache
Memorarea în cache a fișierelor este o altă modalitate de a vă face site-ul să se încarce mai rapid. Iată ce trebuie să introduceți în .htaccess:

Set antet Cache-Control „max-age=2592000”
Puteți adăuga mai multe tipuri de fișiere (sau elimina unele) la lista de fișiere listată în acest exemplu. De asemenea, puteți specifica durata de timp în care fișierele sunt stocate în cache (în secunde) utilizând variabila vârsta maximă.

8. Dezactivați stocarea în cache pentru diferite tipuri de fișiere
Dacă nu doriți să puneți în cache anumite tipuri de fișiere, le puteți lăsa din listă. Cu toate acestea, uneori fișierele pot fi stocate în cache chiar și fără a fi listate în mod explicit, caz în care puteți dezactiva memorarea în cache pentru ele individual. Cea mai frecventă nevoie de a dezactiva stocarea în cache este pentru fișierele dinamice, cum ar fi scripturile. Un exemplu de cod necesar pentru aceasta:
Antetul dezactivat Cache-Control
Pur și simplu specificați tipurile de fișiere pentru care doriți să dezactivați memoria cache.
9. Ocoliți dialogul de descărcare
În mod implicit, când încercați să descărcați un fișier de pe un server web, este afișat un dialog care vă întreabă dacă doriți să salvați fișierul sau să îl deschideți. Acest dialog este deosebit de enervant atunci când descărcați fișiere media sau PDF mari. Dacă fișierele pe care le-ați încărcat pe server sunt destinate exclusiv descărcarii, puteți face viața mai ușoară pentru utilizatori, făcând descărcarea ca acțiunea implicită. Adauga la. htaccess este următorul:

Aplicație AddType/octet-stream .pdf Aplicație AddType/octet-stream .zip Aplicație AddType/octet-stream .mp3

10. Redenumirea fișierului .htaccess
Dacă dintr-un motiv oarecare doriți să redenumiți fișierul .htaccess, atunci puteți face acest lucru. În teorie, redenumirea fișierului .htaccess nu ar trebui să provoace probleme cu aplicațiile care rulează pe serverul dvs., dar dacă observați că apar erori de scripting după redenumirea fișierului, atunci pur și simplu redenumiți-l.

AccessFileName htac.cess
În plus, toate intrările care menționează fișierul .htaccess trebuie actualizate, altfel vor apărea o mulțime de erori.

11. Înlocuirea paginii de start a site-ului
Dacă doriți să setați o pagină de pornire non-standard (index.html, index.php, index.htm etc.), adăugați următorul cod în fișierul dvs. .htaccess:

DirectoryIndex pagina mea.html
Înlocuiți mypage.html cu adresa URL a paginii pe care doriți să o utilizați ca pagină de pornire.

12. Redirecționați către o conexiune HTTPS sigură
Dacă utilizați HTTPS și doriți să redirecționați utilizatorii către pagini securizate de pe site-ul dvs., adăugați următoarele rânduri în fișierul dvs. .htaccess:

RewriteEngine On RewriteCond %(HTTPS) !on RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

13. Limitarea dimensiunii maxime a fișierelor încărcate în PHP, dimensiunea maximă a datelor transferate, timpul maxim de execuție al scripturilor etc.
.htaccess vă permite să setați niște valori care afectează direct funcționarea aplicațiilor PHP. De exemplu, dacă doriți să setați o limită pentru dimensiunea fișierelor încărcate în PHP, pentru a nu vă înfunda găzduirea cu fișiere mari:

Php_value upload_max_filesize 15M
Puteți seta orice valoare, în exemplu dimensiunea fișierului este limitată la 15M (MB). În plus, puteți limita dimensiunea maximă a datelor transferate la încărcarea în PHP:

Php_value post_max_size 10M
Puteți înlocui 10M cu orice valoare doriți. Dacă nu aveți nevoie de scripturi pentru a rula constant, puteți limita timpul de execuție al acestora cu linia:

Php_value max_execution_time 240
240 - timpul de execuție (în secunde) după care scriptul va fi oprit, puteți schimba această valoare cu oricare alta. În cele din urmă, dacă doriți să limitați timpul de analiză a scriptului pe datele brute, utilizați următorul cod:

Php_value max_input_time 180
Setați în loc de 180 oricând doriți (în secunde).

14. Ascunderea tipurilor de fișiere
Uneori nu doriți ca utilizatorii să știe ce tipuri de fișiere sunt pe site-ul dvs. O modalitate de a ascunde aceste informații este ca toate fișierele să apară ca fișiere HTML sau PHP:

Aplicația ForceType/x-httpd-php Aplicația ForceType/x-httpd-php
Și aceasta este doar o parte din ceea ce poate face .htaccess, dar în general vă permite să faceți mult mai mult. De exemplu, puteți seta paginile site-ului dvs. să se traducă automat, să setați fusul orar al serverului, să eliminați WWW din URL-uri sau să utilizați vizualizări de directoare de lux etc. Dar, în orice caz, înainte de a începe să experimentați cu fișierul .htaccess, salvați întotdeauna o copie de rezervă a .htaccess original, astfel încât, dacă apar probleme, să puteți restaura rapid site-ul.

Introducând adresa în bara browserului, primiți fișiere pe computer pe care le afișează browserul. Serverul web controlează ce fișiere și cum să vi le afișeze (trimite). Există două servere cele mai populare: IIS și .

Ca orice program, un server web are anumite setări. Dar, tu, ca utilizator Apache, poți (și cel mai probabil nu vei avea, dacă vorbim despre găzduire partajată) drepturi de a modifica configurația Apache prin fișierele sale principale, efectul căruia se aplică tuturor utilizatorilor acestui server. Dar, puteți modifica unele fișiere de configurare, care se aplică numai site-ului dvs. Unul dintre aceste fișiere este .htaccess

Acesta este un fișier de configurare flexibil pentru serverul web Apache. „Flexibil” înseamnă că de îndată ce modificați ceva în acest fișier, modificările intră imediat în vigoare. Folosind-o, puteți suprascrie multe directive din fișier httpd.conf(acest fișier este fișierul principal de configurare al serverului Apache și acțiunile sale se aplică complet tuturor utilizatorilor acestei copii a Apache). În cazurile în care nu aveți acces la fișierul de configurare Apache (aceeași găzduire virtuală), acest fișier vă va ajuta.

Acest fișier nu este accesibil utilizatorului web din browser. Dacă dosar. htaccess se află în directorul rădăcină al serverului, acțiunile sale se aplică întregului server, cu excepția acelor foldere în care se află un alt fișier. htaccess(și în plus față de toate folderele „de mai jos” acest folder cu al doilea. htaccess).

Structura directoarelor dvs. de pe server este astfel:

|-utilizator | | | -utilizator1 | | | -utilizator2 | |-date | | | -data1 | | | -data2 |

Directoare utilizator1Și utilizator2 va fi imbricat în raport cu directorul utilizator. Dacă îl punem într-un director www fişier. htaccess, atunci efectul său se va extinde automat la directoare utilizator1Și utilizator2.

În director date pune alt dosar. htaccess, în comparație cu ceea ce este în director utilizator. Atât pentru directoarele data1 cât și pentru data2, va funcționa fișierul .htaccess aflat în data.

Cele mai bune articole pe această temă