Fișier htaccess directive, reguli, cum să configurați redirecționări, interdicții

Vom începe din afară, astfel încât noii veniți să înțeleagă principiul fișierului descris în articol. Pentru a opera site-ul pe Internet, aveți nevoie nu numai de un calculator și de o priză la rețea, ci și de un software special instalat pe acesta, care oferă acces la date prin protocoalele http și https. Acest software este un server web. Există diferite tipuri de servere web, dar cel mai frecvent este Apache. Este construit pe open source, oferit gratuit, actualizat constant și îmbunătățit, compatibil cu multe scenarii și funcționează pe aproape toate platformele, inclusiv Windows, Linux, Netware 5.x.







Configurează Apache prin fișiere de configurare stocate în format text. Cu ajutorul acestora, puteți seta anumite reguli pentru acțiunea serverului web. Fișierul de configurare principal se numește httpd.conf sau apache.conf (în funcție de distribuția sistemului de operare). În multe cazuri, toate configurațiile de servere pot fi specificate aici și, practic, această metodă este preferabilă, deoarece:

a) reduce timpul de răspuns al serverului web când este solicitat (de fiecare dată când accesați serverul web, Apache nu va vedea toate directoarele pentru a avea .htaccess); b) unele directive, de exemplu directivele modulului mod_rewrite, funcționează mai bine în multe privințe din fișierul de configurare principal.

Dar accesul la dosar nu poate fi în toți utilizatorii de server (de exemplu, în cazul virtual hosting), astfel încât restul de configurare server de web fișier suplimentar oferit - .htaccess (punctul c la începutul numelui).

Ce este .htaccess și pentru ce este?

Fișier (sau fișiere) .htaccess va stabili regulile serverului web este numai în directorul în care se află, și directoarele subsidiarilor, fără modificările globale ale întregului server. Capacitatea de a utiliza Directiva .htaccess prescrise (de exemplu, o echipă) - AllowOverride - în principal httpd.conf fișier de configurare, numele care spune în mod expres că în setările .htaccess au prioritate asupra setărilor în httpd.conf (dacă nu sunt limitați altfel de către toți la fel ca Directiva AllowOverride). Cu ajutorul acestei directive, puteți permite totul, sau puteți - doar câteva acțiuni. O instrucțiune detaliată privind utilizarea sa poate fi găsită pe site-ul Apache.

Cu aceasta, de fiecare dată când accesați serverul web, Apache va examina toate directoarele pentru prezența .htaccess. Modificările din fișier sunt valide imediat după salvare - nu este nevoie să reporniți întregul server web (spre deosebire de modificările din httpd.conf).

Numele fișierului .htaccess este acceptat în general, dar nu neapărat. În httpd.conf, puteți specifica un alt nume utilizând directiva AccessFileName. de exemplu, după cum urmează:

Cum se creează un fișier .htaccess

Numele fișierului este .htaccess (cu un punct la început);

tip - "Toate fișierele";

format pentru a purta cuvinte;

Modul ASCII (când descărcați .htaccess pentru a găzdui FTP).

Apache este un server web bazat pe registre, deci este important să scrieți numele cu litere mici. HTaccess și .htaccess sunt fișiere diferite.

În fișierele Mac OS care încep cu un punct sunt invizibile. Prin urmare, îl puteți numi diferit și apoi, după ce îl mutați prin FTP la hosting, îl redenumiți. De obicei, fișierul este plasat în directorul rădăcină al serverului web (/ public_html) sau în directorul rădăcină al site-ului (/public_html/site.com/).

Sintaxa .htaccess

Fișierul de configurare este foarte mare. Mai jos sunt setările de bază în .htaccess.

Caracteristici .htaccess

Control acces

Restricționarea accesului la Internet, altul decât IP:

Barring Web Access pentru IP:

Preveniți accesul la fișier:

Protecția directoarelor cu o parolă:

Lucrul cu erorile serverului web

Uneori, în loc de pagina așteptată, un vizitator poate întâmpina un răspuns de la un server web sub forma unei erori cu o concisă, dar nu întotdeauna ușor de înțeles pentru un utilizator simplu, o explicație a motivului. O listă completă a codurilor de stare poate fi găsită în Wikipedia. Pentru cele mai frecvente erori (de exemplu 404 sau 500), este recomandabil să vă creați o pagină proprie, care arată mai bine și prezintă calea de ieșire către vizitator. Se stabilește după cum urmează:

P.S. Utilizatorii serviciului de găzduire a site-ului de la HOSTiQ.ua pot utiliza panoul de control cPanel pentru a-și crea pagina (în secțiunea "Avansat" "Pagini de eroare").







Configurarea unei redirecționări 301 în htaccess

Pentru a crea o redirecționare permanentă, se folosește directiva de redirecționare 301, care transferă întreaga greutate a paginii către o nouă adresă URL (deci este preferabilă redirecționării 302 - în scopuri SEO).

Redirecționarea întregului site către un domeniu nou:

Redirecționarea unei pagini la una nouă:

Modul de redirecționare a modului

Un mecanism de neînlocuit pentru schimbarea referințelor URL "în zbor" este modulul mod_rewrite. Utilitatea și, în același timp, dificultatea constă în faptul că puteți folosi o mulțime de reguli, inclusiv chiar și mai multe variabile.

Pentru a lucra la modul, mai întâi aveți nevoie de directive

RewriteEngine On (activează mecanismul de conversie)

Opțiuni FollowSymLinks (condiție pentru operația mod_rewrite).

Dacă administratorul de server dezactivează această opțiune pentru directorul de utilizatori, nu puteți utiliza motorul de conversie. Această restricție este suprapusă pe serverele virtuale de găzduire din motive de securitate.

Una dintre cele mai funcționale directive ale modulului mod_rewrite este RewriteRule. Pentru a specifica condiția în care va funcționa regula, este utilizată directiva RewriteCond. Acesta (unul sau mai multe) trebuie înregistrat înainte de RewriteRule.

Redirecționarea unei pagini către un domeniu nou:

Redirecționarea unui site dintr-un domeniu fără www la un domeniu cu www:

HTTPS redirecționare (trebuie mai întâi să instalați certificatul HTTPS):

Definiția encoding

Tabela de simboluri în care se deschide site-ul este determinată de browser. Cu toate acestea, puteți seta codificarea implicită:

Această modificare este distribuită în cadrul acțiunii .htaccess și pe toate paginile site-ului. Puteți seta codificarea pentru un anumit tip de fișier, de exemplu, windows-1251 pentru html:

Deseori pagina în sine poartă (în antet) informații despre codificarea utilizată. Trebuie să verificați dacă codificarea specificată în document și în fișierul de configurare se potrivește. Uf-8 descris aici este aproape întotdeauna necesar atunci când rulează CMS populare, deoarece acestea sunt concepute pentru o gamă largă de utilizatori din întreaga lume. Apropo, în mod implicit, aceeași codificare este configurată pe serverele noastre de găzduire virtuală.

Alte caracteristici

- Determinați fișierul index al site-ului:

Implicit, pagina index este index.html. Folosind următoarea directivă, puteți specifica un nume de fișier diferit, care este deschis mai întâi la accesarea directorului:

- O directivă utilă este FilesMatch, care specifică limitele regulii prin numele fișierului, folosind expresii regulate. Cu ajutorul acestuia, de exemplu, puteți refuza accesul la anumite fișiere:

Există câteva directive care nu sunt acceptate pe serverele noastre cu găzduire virtuală, dar le puteți rezolva, de exemplu, pe PRT.

Motivul este că un server web suPHP care nu funcționează nu suportă php_flag și php_value. Prin urmare, propunem utilizarea cPanel (subsecțiunea foarte util „Selectarea unei versiuni de PHP“, pentru a lucra cu error_log - „Error Log“) sau de a crea un fișier php.ini local pentru acest scop. Câteva directive pe care le-am mai oferit mai jos:

- Pentru a evita agățarea serverului web când procesați scripturi incorect scrise, există max_execution_time. Este folosit pentru a specifica timpul, în câteva secunde, pentru procesarea unui script PHP. Puteți crește timpul pe care serverul Web îl așteaptă în timp ce rulează scriptul:

- Determinarea dimensiunii maxime a fișierului încărcat:

- Imprimați erori PHP într-un fișier separat:

P.S. Pe o gazdă partajată, este dificil să se determine exact care directivele în .htaccess va funcționa, pentru că mulți dintre cei care conduc la o schimbare în configurația de server de web sunt interzise din motive evidente - aceste modificări vor afecta toți utilizatorii de pe mass-media.

Dacă .htaccess nu funcționează

Puteți verifica funcționarea fișierului scriind simple directive care, cu sintaxa corectă și setările corecte pentru httpd (așa cum este descris la începutul articolului), ar trebui să funcționeze:

- de exemplu, prin interzicerea accesului la site din exterior prin intermediul directivei

- sau să scrieți la un fișier un set de caractere care nu sunt direcții. Dacă serverul web interacționează cu htaccess, atunci, desigur, nu va putea să le citească și va da 500 de erori.

Dacă problema există, mai întâi trebuie să căutați cauza în fișierul de configurare principal:

- Verificați dacă a fost creată o intrare VirtualHost pentru domeniu. Ca exemplu:

- numele fișierului de configurare suplimentar este specificat conform cerințelor. Dacă acesta este .htaccess, atunci:

Și câteva sfaturi despre lucrul cu .htaccess

Este foarte de dorit să faceți o copie de rezervă a fișierului înainte de orice modificare - astfel încât, în cel mai rău caz, rezultatul să poată fi "derulat" înapoi înapoi.

Vă recomandăm să efectuați modificări pas cu pas utilizând un minim de directive - iar în caz de eșec va fi mai ușor să calculați ce regulă a provocat eroarea.

În timp ce modificări să intre în vigoare imediat, cache-ul browser-ul nu a fost anulat - pentru a verifica funcționarea site-ului după editarea .htaccess, utilizați-l de curățare în mod regulat sau încărcați pagina în by-pass cache - prin combinația de taste Ctrl + F5 (în Safari: Ctrl + R. în Mac OS: Cmd + R).

Cele mai frecvente erori de server de web atunci când se utilizează .htaccess - 500, și fie indică o problemă în sintaxa (greșeală de scriere în directivă, de exemplu), sau în fișierul de configurare principal nu este permis acest tip de directivă.

Link-uri utile

Cea mai bună sursă de inspirație pentru lucrul cu .htaccess:

Multe instrucțiuni pentru lucrul cu .htacess, în limba rusă:

Reguli simple de generatoare pentru .htaccess:

Dacă nu aveți suficient fișier .htaccess pentru a modifica configurația serverului web, este posibil să închiriați un server dedicat în Europa sau în SUA, veți fi potrivit. Pe servere dedicate, puteți efectua modificări direct la setările Apache. Ofertele noastre pentru servere dedicate sunt potrivite pentru orice utilizator. Dacă sunteți, de asemenea, interesat în cumpărarea de nume de domenii. apoi comanda servicii de găzduire, puteți ști imediat cât de mult domeniu și costurile de hosting.

Citiți și:







Trimiteți-le prietenilor: