Fișierul htaccess modifică setările serverului care afectează. Fișierul .htaccess este pentru configurarea redirecționărilor și gestionarea configurației serverului web. Cum să împiedicați vizualizarea conținutului unui anumit folder

Soluţie
  • sintaxa fișierului htaccess
  • Configurarea accesului htaccess
  • Modificare URL în htaccess
  • Configurarea redirecționărilor în htaccess
  • Configurarea paginilor de eroare în htaccess
  • Memorarea în cache în htaccess
  • Comprimarea fișierelor în htaccess
  • Blocarea directoarelor cu o parolă
  • Codificare
  • versiunea PHP în folderul dorit și schimbarea handler-ului după tipul de fișier

SINTAXA FIȘIERULUI HTACCESS

Toate directivele din fișierul htaccess sunt executate exact la fel ca și cum ar fi fost plasate în fișierul de configurare global, doar în interiorul directivei . Acest lucru nu vă permite să modificați setările globale, dar puteți regla foarte fin comportamentul programului în folderele la care aveți drepturi de acces.

Sintaxa generală a directivelor este foarte simplă, sunt perechi de comenzi și opțiunile lor separate printr-un spațiu, de exemplu:

Comanda parametru1 parametrul2 steaguri

Există destul de multe comenzi în sine și le vom analiza folosind exemple de acțiuni pe care le efectuează. În plus față de comenzile în sine, structurile imbricate pot fi folosite aici, de exemplu, pentru a activa module sau pentru a verifica disponibilitatea unui anumit modul. Acum să ne apropiem de cum să configurați corect htaccess. Să începem cu cei mai simpli pași.

Conectați-vă la desktopul cPanel și accesați „ Manager de fișiere"

Accesați folderul public_html și creați un fișier numit „.htaccess”

Creați folderul dorit și fișierul .htaccess în folderul public_html sau mai mare.

Activați afișarea fișierelor ascunse în secțiunea „Setări” din dreapta, sus.

Și editați fișierul .htaccess făcând clic dreapta pe fișier și selectând Editare

CONFIGURAREA ACCESULUI HTACCESS

Destul de des htaccess este folosit pentru a controla accesul la un folder. Trei comenzi sunt folosite pentru a controla accesul:

  • Ordin- Ordin;
  • nega- interzice;
  • permite- permite.

În primul rând, folosind opțiunea de comandă, trebuie să indicați în ce ordine vor fi executate directivele; numai această comandă are sens și nu contează în ce ordine se află în fișier.

Apoi, folosind directiva allow sau deny, permitem sau refuzăm accesul la folder de la anumite adrese. De exemplu, pentru a dezactiva tot ce trebuie să adăugați la htaccess:

Comanda refuzată, permiteți
Negați de la toți

Dar putem permite accesul doar din subrețeaua sau adresa IP dorită:

Comanda refuzată, permiteți
Negați de la toți
Permite 192.168.0.

Pentru a bloca adresele IP puteți folosi capabilitățile cPanel


Dacă se specifică refuz,permite, atunci verificarea va fi efectuată în ordinea respectivă. În primul rând, toate directivele deny, apoi toate directivele allow și dacă niciuna dintre condiții nu se potrivește, atunci cererea este omisă. Cu allow, deny, o astfel de cerere va fi respinsă în mod implicit. De exemplu, exemplul anterior ar putea fi scris astfel:

Comanda permite, refuza
Permite 192.168.0.

MODIFICARE URL ÎN HTACCESS

Cea mai obișnuită utilizare a htaccess este pentru modificarea URL-ului în timpul execuției sau redirecționări. Modulul mod_rewrite este responsabil pentru această funcționalitate și este de obicei activat în majoritatea configurațiilor Apache.

Modificarea URL-ului în htacces se face folosind trei directive, acestea sunt RewriteBase, care specifică prefixul adresei, RescrieCond verificări pentru conformitate și RewriteRule- modifică adresa URL conform expresiei regulate dacă toate regulile de potrivire se potrivesc.

Mai întâi trebuie să activați Mod_Rewrite, în cazul în care modulul nu este încă activ:

RewriteEngine activat

Indicăm că rădăcina ar trebui folosită ca prefix pentru adresa URL:

Și vom înlocui automat adresa URL de la index.html la index.php, rețineți că URL-ul original este calea către fișierul solicitat în raport cu locația fișierului htaccess:

RewriteRule index.html/index.php

Pentru o înlocuire mai eficientă, puteți utiliza expresii regulate; acestea constau din caractere și variabile speciale și caractere și numere obișnuite. Să ne uităm la principalele personaje speciale:

  • ^ - începutul liniei;
  • $ - capăt de linie;
  • . - orice simbol;
  • * - orice număr de orice simboluri;
  • ? - un simbol specific;
  • - o succesiune de caractere, de exemplu, de la 0 la 9;
  • | - simbol sau, fie un grup, fie altul este selectat;
  • () - folosit pentru a selecta grupuri de caractere.

În expresiile regulate htaccess puteți folosi și variabile cu date obținute din anteturile cererii, de exemplu:

  • %(HTTP_USER_AGENT)- câmpul User-Agent, care este transmis de browserul utilizatorului;
  • %(REMOTE_ADDR)- adresa IP a utilizatorului;
  • %(REQUEST_URI)- URI solicitat;
  • %(ȘIR DE INTEROGARE)- parametrii de interogare după semnul ?.

Acestea sunt variabilele cel mai des folosite, dar sunt multe altele, restul le găsiți în documentația oficială. Expresiile regulate deschid posibilități mai largi, de exemplu, puteți înlocui html cu php în toate paginile:

RewriteEngine Pornit;
RewriteBase/;

Directiva RewriteCond oferă și mai multă flexibilitate; puteți alege la care adrese să aplicați modificarea, de exemplu, vom redefini datele doar pentru versiunea cu www:

RewriteBase/;
RewriteCond % (REMOTE_HOST) ^www.site.ru$
RewriteRule ^(.*)\.html$ $1.php

În acest fel, puteți efectua orice transformări ale adreselor URL fără a redirecționa oriunde. Dar în continuare ne vom uita la cum să facem redirecționări.

CONFIGURAREA REDIRECȚILOR ÎN HTACCESS

Aflați mai multe despre redirecționarea pentru SSL de la http la https.

Configurarea redirecționărilor htaccess se face într-un mod similar, folosind același modul mod_rewrite, doar că acum în loc să modificăm url-ul specificăm un flag cu acțiunea dorită și codul de redirecționare.

Cea mai simplă redirecționare poate fi efectuată fără mod_rewrite, folosind următoarea linie:

Redirecționare 301 /index.html http://www.site.ru/index.php

Dar de obicei aveți nevoie de redirecționări cu un efect mai larg. Totul arată foarte asemănător, doar că acum folosim un steag pentru a ignora majuscule, [L] pentru a opri procesarea și [R] pentru a redirecționa. De exemplu, redirecționarea htaccess dintr-o versiune non-www către un domeniu cu www:

RewriteCond %(HTTP_HOST) ^site\.ru$
RewriteRule ^(.*)$ http://www.site.ru/$1

Valoarea R=301 înseamnă codul de redirecționare care va fi returnat clientului, puteți utiliza 301, 302, etc. O redirecționare htaccess de la domeniul www către un domeniu fără prefix va arăta astfel:

RewriteCond %(HTTP_HOST) ^www.site\.ru$
RewriteRule ^(.*)$ http://site.ru/$1

Puteți face o redirecționare în același mod:

RewriteRule ^adresă_veche /adresă_nouă/$1

Redirecționați de la versiunea http la https:

RewriteCond %(SERVER_PORT) ^80$
RewriteCond %(HTTP) =activat
RewriteRule ^(.*)$ https://site.ru/$1

RewriteEngine On RewriteCond %(SERVER_PORT) !^443$ RewriteRule .* https://%(SERVER_NAME)%(REQUEST_URI)

CONFIGURARE PAGINI DE EROARE ÎN HTACCESS

Dacă apar erori în timpul generării paginii, serverul web emite un mesaj scurt și un cod de eroare. Dar va fi mult mai clar pentru utilizatori ce se întâmplă dacă faceți o pagină separată pentru fiecare eroare cu imagini și o explicație completă.

Configurarea htaccess pentru acest articol va fi foarte utilă. Puteți utiliza directiva ErrorDocument. Folosind-o, puteți seta pagini HTML pentru erorile 4xx și 5xx. De exemplu, pentru 404:

ErrorDocument 404 http://site.ru/error/404.shtml
ErrorDocument 403 http://site.ru/error/403.shtml
ErrorDocument 401 http://site.ru/error/401.shtml
ErrorDocument 500 http://site.ru/error/500.shtml

Dacă paginile de eroare nu funcționează, consultați .

CACHING ÎN HTACCESS

Browserul vă permite să stocați imagini, fișiere script, stiluri și alte fișiere media în memoria cache pentru o anumită perioadă de timp. Durata de viață a memoriei cache este setată de serverul web folosind antete speciale. Ele pot fi configurate folosind modulul expires.

În mod implicit, avem deja activată memoria cache pentru toți clienții și nu trebuie să faceți nimic. Dar îl poți reconfigura singur.

Mai întâi, activați modulul și setați perioada implicită de stocare în cache:

Expiră activ pe
ExpirăDefault „acces plus 1 lună”

Acum putem configura memorarea în cache pentru fiecare tip de fișier MIME:

ExpiresByType text/html „acces plus 1 lună 15 zile 2 ore”
ExpiresByType imagine/gif „acces plus 5 ore și 3 minute”
ExpiresByType imagine/pictogramă x „acces plus 2592000 secunde”

În primul rând precizăm că paginile html trebuie considerate valabile o lună, 15 zile și două ore din momentul în care sunt încărcate. Sunt disponibile următoarele tipuri de fișiere:

  • imagine/pictogramă x;
  • imagine/jpeg;
  • imagine/png;
  • imagine/gif;
  • aplicație/x-shockwave-flash;
  • text/css;
  • text/javascript;
  • aplicație/javascript;
  • aplicație/x-javascript;
  • text/html;
  • aplicație/xhtml+xml;

Pentru a fi sigur că această construcție nu va provoca erori, înfășurați-o într-un dacă:


COMPRESIA FIȘIERE CU HTACCESS

Pentru compresie în Apache, puteți utiliza modulul deflate. De asemenea, puteți utiliza capacitățile CPanel, .

Aici este suficient să enumerați pur și simplu tipurile de fișiere mime care trebuie comprimate. De exemplu:

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript

De asemenea, puteți include o instrucțiune if pentru a verifica dacă modulul este acceptat:


Blocarea directoarelor cu o parolă

Utilizați secțiunea cPanel

Fișierul .htaccess (acces hipertext în engleză) este utilizat pentru configurarea simplă și convenabilă a serverului web pe care este stocat site-ul web al utilizatorului. Modificând în mod corespunzător setările serverului web, putem schimba funcționarea site-ului. De obicei, fișierul .htaccess se află în directorul rădăcină, iar efectul său se aplică întregului site și tuturor subdirectoarelor. Dacă un alt director conține propriul său .htaccess, atunci va acționa numai asupra propriului director și subdirectoare.

Important! Schimbarea fișierului .htaccess poate perturba foarte mult funcționarea site-ului, iar acțiunile neplăcute cu acesta pot să nu aibă consecințe vizibile, dar pot duce la scăderea pozițiilor în motoarele de căutare sau la pierderea completă a acestora. Prin urmare, vă recomandăm ca înainte de a face orice modificări în fișier, să salvați o copie a acestuia pentru a putea reveni la setările anterioare.

Unde se află fișierul .htaccess?

De obicei se află în directorul rădăcină al site-ului. Uneori, în diverse CMS poate exista un fișier htaccess.txt, care nu este perceput de server în niciun fel și nu afectează nimic. Pentru ca acesta să înceapă să funcționeze, trebuie să îl redenumiți în .htaccess. Dacă acest lucru nu se poate face pe computer, atunci accesați serverul dvs. printr-un client FTP și redenumiți fișierul direct pe server.

Puteți edita fișierul pe computer folosind orice editor de text, dar pentru a evita posibile probleme de codare, vă recomandăm să utilizați Notepad++ pentru aceasta.

Cum să verific dacă .htaccess funcționează?

Este simplu, scrie orice cuvânt în prima linie a acestui fișier (de exemplu YAROBOT), salvează fișierul și înlocuiește-l cu cel aflat pe server. Dacă site-ul continuă să funcționeze, atunci .htaccess nu funcționează în acest moment. Dacă apare eroarea 500 Internal Server Error, înseamnă că serverul web nu a putut înțelege comanda (YAROBOT) și a generat o eroare. Acest fapt va confirma că munca .htaccess pe server este acceptată și activată în acest moment. Pentru a readuce site-ul la funcționalitate, eliminați linia din YAROBOT.

Corectați redirecționarea 301 prin fișierul .htaccess

Important! Dacă doriți ca redirecționarea să funcționeze, trebuie să scrieți înaintea rândurilor care sunt recomandate mai jos în text:

301 Redirecționare de la o pagină la alta (sau site)

Pentru a face acest lucru, adăugați următoarele linii în fișierul .htaccess:

Redirecționare 301 /old-page.html http://site.rf/new-page.html

RedirectPermanent /old-page.html http://site.rf/new-page.html

301 Redirecționare de la www site la site fără www

De exemplu, redirecționarea de la http://www.site.com la http://site.com. Acesta este un lucru foarte util, adesea folosit în SEO

Opțiuni +FollowSymLinks
RewriteEngine Pornit
RewriteCond %(HTTP_HOST) ^www.domain\.com$
RewriteRule ^(.*)$ http://domain.com/$1

Redirecționare inversă de la un domeniu fără www la un domeniu cu www

Redirecționare de la http://site.com la http://www.site.com (nu recomandăm utilizarea acestuia)

Opțiuni +FollowSymLinks
RewriteEngine Pornit
RewriteCond %(HTTP_HOST) ^domeniu\.com$
RewriteRule ^(.*)$ http://www.domain.com/$1

Redirecționează toți vizitatorii de pe vechiul site către cel nou

Redirecționare 301 / http://newsite.com/

Cum se adaugă .html la sfârșitul adresei URL?

Pentru ca atunci când introduceți site.com/page sau site.com/page/, să aibă loc o redirecționare către site.com/page.html, scrieți următoarele în .htaccess:

RewriteCond %(REQUEST_URI) (.*/[^/.]+)($|\?)
RewriteRule .* %1.html
RewriteRule ^(.*)/$ /$1.html

Cum se elimină .html la sfârșitul adresei URL?

Redirecționare inversă de la site.com/page.html la site.com/page

RewriteBase /
RewriteRule (.*)\.html$ $1

Cum să eliminați bara oblică de la sfârșitul adresei URL?

De exemplu, a fost site.com/page/, a devenit site.com/page

RewriteCond %(REQUEST_FILENAME) !-d
RewriteRule ^(.+)/$ /$1

301 Redirecționare de la o secțiune la alta?

Redirecționarea tuturor paginilor unei secțiuni site.com/razdel-1/razdel-2/page către paginile altei secțiuni site.com/razdel-1/page

RewriteRule ^blog/raznoe/(.*)$ http://site.ru/blog/$1

301 Redirecționare când treceți de la un domeniu vechi la unul nou

Următoarea regulă va redirecționa corect vizitatorii din fiecare pagină specifică a vechiului site către aceeași pagină a noului site. De exemplu, de la oldsite.com/page la newsite.com/page

RewriteCond %(HTTP_HOST) ^www.oldsite.com$
RewriteCond %(HTTP_HOST) ^test.oldsite.com$
RewriteRule ^(.*)$ http://newsite.com/$1

Schimbarea corectă a paginilor de eroare prin .htaccess

Când un utilizator dorește să vadă un site (trimite o cerere către serverul de găzduire), serverul returnează un răspuns cu un cod. Codurile 1-399 indică funcționarea normală a serverului, iar codurile 400-599 indică o eroare de server (consultați articolul special pentru toate codurile de eroare). De exemplu, dacă serverul cu site-ul dvs. este supraîncărcat sau se repornește, utilizatorul va vedea text pe care nu îl înțelege (de exemplu, 500 Internal Server Error), crede că site-ul nu va mai funcționa și nu va mai reveni niciodată la el. Pentru a-i arăta pagina dvs. separată în loc de o pagină de eroare standard (de neînțeles pentru utilizator), pe care va apărea, de exemplu, un mesaj că site-ul nu funcționează temporar, dar mai târziu își va restabili funcționarea și merită să reveniți. (site-ul web KinoPoisk afișează un mesaj când serverele sunt supraîncărcate „Matrix se reîncarcă...” și imaginea corespunzătoare). Cea mai comună soluție este să vă creați propria pagină în loc de eroarea standard 404. Această eroare este afișată utilizatorului dacă este introdusă adresa unei pagini inexistente. Webmasterii gânditori își creează propria pagină în locul celei standard de neînțeles, pe care scriu că persoana a urmat un link inexistent și sugerează să caute informațiile necesare pe site și să nu o părăsească. Un exemplu al paginii noastre 404 poate fi văzut. Pentru a le afișa utilizatorilor propria pagină de eroare în loc de cea standard, trebuie să creați o pagină separată (de exemplu http://yoursite.com/404.html) și să adăugați codul corespunzător în fișierul .htaccess. Iată exemple de codul pe care trebuie sa il adaugati:

ErrorDocument 400 http://yoursite.com/400.html
ErrorDocument 404 http://yoursite.com/404.html
ErrorDocument 500 http://yoursite.com/500.html

Dacă doriți să înlocuiți o altă pagină în loc de eroarea 403, atunci trebuie să specificați un mesaj text care va fi afișat, de exemplu:

ErrorDocument 403 „Îmi pare rău, nu vă pot permite accesul astăzi, ne vedem mai târziu, aligator:)”

Setări de securitate a site-ului prin fișierul .htaccess

Fișierul .htaccess oferă oportunități excelente de îmbunătățire a securității site-ului. Acum le vom enumera pe cele mai populare:

Protejarea site-ului dvs. de injecții de scripturi

#Activează urmărirea legăturilor SIM
Opțiuni +FollowSymLinks
#Începe url_rewriting
RewriteEngine Pornit
#Blochează toate linkurile care conțin ‹script›
RewriteCond %(QUERY_STRING) (\<|%3C).*script.*(\>|%3E)
#Blochează toate scripturile care încearcă să schimbe variabilele PHP Globals:
RewriteCond %(QUERY_STRING) GLOBALE(=|\[|\%(0,2))
#Blochează toate scripturile care încearcă să schimbe variabila _REQUEST:
RewriteCond %(QUERY_STRING) _REQUEST(=|\[|\%(0,2))
#Redirecționează toate astfel de încercări către o pagină de eroare 403 - interzisă
RewriteRule ^(.*)$ index.php

Cum să vă protejați site-ul de furtul de imagini

Adesea, webmasterii pricepuți află calea către imaginea de pe site-ul dvs. și o introduc în codul paginii lor. Ca urmare, pagina principală este încărcată de pe serverul lui, iar imaginea este încărcată de pe al tău. Acest lucru îi permite să-și economisească traficul și să-l folosească pe al tău.

Opțiuni +FollowSymlinks
#Interzice furtul pozelor
RewriteEngine Pornit
RewriteCond %(HTTP_REFERER) !^$
RewriteCond %(HTTP_REFERER) !^http://(www.)?yoursite.com/
RewriteRule .*.(gif|jpg|png)$ http://yoursite.com/images/stop_stealing.gif

yoursite.com - adresa site-ului dvs. web
http://yoursite.com/images/stop_stealing.gif - calea către imaginea pe care trebuie să o creezi singur. De obicei, spune „nu fura poze de pe site-urile altor persoane” sau ceva similar.

Cum să blochezi accesul la un site pentru un utilizator prin IP?

Este folosit împotriva spammerilor și a altor persoane nepotrivite și, ocazional, pentru a preveni atacurile hackerilor.

#Inserați aici adrese IP nedorite
permite de la toti
nega din 164.186.15.116
nega din 124.153.34.144

Cum să blochezi accesul la un site pentru toate IP-urile, cu excepția celor verificate?

Pentru a bloca accesul tuturor, cu excepția adreselor IP specifice, adăugați următorul cod:

#Interziceți accesul tuturor, cu excepția adreselor IP specificate
ErrorDocument 403 http://www.yoursite.com
Comanda refuzată, permiteți
Negați de la toți
Permite de la 164.186.15.116
Permite de la 124.153.34.144

Cum să împiedicați vizualizarea conținutului unui anumit folder

#Dezactivează vizualizarea conținutului folderului
Opțiuni Toate -Indici

Interzicerea accesului la un anumit fișier

#Protejează fișierul myfile.txt

comanda permite, refuza
nega de la toti

Interziceți accesul la toate fișierele cu o anumită extensie

De exemplu, pentru a refuza accesul la toate fișierele .txt scriem acest lucru:


Comanda Respinge, Permite
Negați din partea tuturor

Blocarea agenților de utilizator inutile

Adesea, utilizatorul are instalate o mulțime de extensii în browser, care transmit informații despre el și alte informații inutile către server (pe care se află site-ul dvs.). Aceleași informații sunt trimise către server de aplicațiile client instalate pe computerul utilizatorului, precum și de diverși roboți și păianjeni. Puteți găsi informații despre majoritatea „Agenților utilizatori” actuali.

#Blochează următorii agenți de utilizator
SetEnvIfNoCase user-Agent ^FrontPage
SetEnvIfNoCase user-Agent ^Java.*
SetEnvIfNoCase user-Agent ^Microsoft.URL
SetEnvIfNoCase user-Agent ^MSFrontPage
SetEnvIfNoCase user-Agent ^Offline.Explorer
SetEnvIfNoCase user-Agent ^ebandit
SetEnvIfNoCase user-Agent ^Zeus

Comanda Permite, Respinge
Permite de la toți
Deny de la env=bad_bot

Modificarea codificării site-ului prin .htaccess

Se întâmplă ca un utilizator să vină pe site-ul dvs. și să îl vadă normal, în timp ce altul vede gobbledygook în loc de litere. Acest lucru se întâmplă din cauza codificării site-ului. Pentru ca browserul utilizatorului să-l recunoască corect, site-ul este realizat într-una dintre codificările populare:

UTF-8 - codificare universală pe doi octeți
Windows-1251 - chirilic (Windows)
KOI8-r - chirilic (KOI8-R)
cp866 - chirilic (DOS)
Windows-1250 - Europa Centrală (Windows)
Windows-1252 - Europa de Vest (Windows)

De asemenea, codificarea trebuie indicată în metaeticheta fiecărei pagini a site-ului, aceasta îi spune browserului în ce codificare este făcut site-ul.

Dacă această metaetichetă nu este specificată, puteți spune browserului ce codificare aveți folosind fișierul .htaccess:

AddDefaultCharset WINDOWS-1251

Dacă ambele opțiuni funcționează (atât eticheta meta, cât și fișierul .htaccess), atunci este foarte important ca codificarea din ele să se potrivească.

De asemenea, este posibil ca serverul să transcodeze automat toate fișierele care sunt încărcate pe acesta:

Pentru a dezactiva recodificarea serverului trebuie să introduceți:

Optimizarea site-ului folosind .htaccess

Accelerarea unui site web folosind Gzip

Activarea acestei caracteristici permite serverului să comprima informațiile înainte de a le trimite utilizatorului. Ca urmare, viteza site-ului va crește, dar aceasta va crește ușor încărcarea pe server (pe care este stocat site-ul dvs.), deoarece va trebui să efectueze operaţia de compresie din mers. Pentru a activa compresia Gzip, trebuie să adăugați următoarele linii în fișierul .htaccess (încercați să adăugați 3 opțiuni de cod una câte una, verificând viteza și lăsați opțiunea care oferă cea mai mare accelerare):


AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0 no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

mod_gzip_on Da
mod_gzip_item_include fișier \.js$
mod_gzip_item_include fișier \.css$

FileETag MTime Size


ExpirăActiv pe



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_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

Cum să îmbunătățiți memoria cache a site-ului web pe server?

Memorarea în cache îmbunătățită face posibilă nu descărcarea a doua oară a datelor (imagini, elemente de design de bază etc.) care au fost deja descărcate de utilizator când a vizualizat prima dată site-ul. Astfel, pentru un anumit utilizator, a doua și următoarele pagini vizualizate se vor încărca mult mai repede, iar încărcarea pe serverul dumneavoastră va fi redusă semnificativ. Puteți îmbunătăți memorarea în cache a site-ului folosind următorul cod (încercați două opțiuni pe rând și lăsați-o pe cea mai rapidă, verificați viteza):


Expiră activ pe
Aplicația ExpiresByType/javascript „acces plus 7 zile”
ExpiresByType text/javascript „acces plus 7 zile”
ExpiresByType text/css „acces plus 7 zile”
ExpiresByType imagine/gif „acces plus 7 zile”
ExpiresByType imagine/jpeg „acces plus 7 zile”
ExpiresByType imagine/png „acces plus 7 zile”
FileETag MTime Size


ExpirăActiv pe
ExpirăDefault „acces plus 1 lună”

În expresia „acces plus...”, setați perioada de stocare a fișierelor de pe computerul utilizatorului. După această perioadă, când se face o solicitare către site, fișierele vor fi descărcate o singură dată de pe server. Perioada optimă ar fi de la 7 zile la o lună, deși uneori se stabilește un an.

Schimbarea paginii principale (index) a site-ului

De obicei, atunci când accesați un site web, pagina index.html sau index.php este încărcată prima. Pentru a schimba această regulă (mypage.php se va încărca mai întâi), adăugați următorul cod la .htaccess:

Configurarea parametrilor PHP prin fișierul .htaccess

De obicei, fișierul php.ini este responsabil pentru setările PHP, dar unele dintre aceste setări pot fi setate prin .htaccess. Pentru aceasta, sunt folosite două expresii: php_value - pentru valori logice (de exemplu, activare/dezactivare) și php_flag pentru valori numerice. Iată regulile de scriere a acestor expresii:

directiva php_flag1 VALORE1
directiva php_value2 VALOR2

unde VALOARE1 poate fi activat, oprit, 1 sau 0 (1 și pornit înseamnă pornire și 0 și dezactivat înseamnă oprire);

VALOARE2 - orice valoare numerică sau alfabetică care se potrivește cu o anumită directivă;

directiva1 (utilizată numai cu php_flag) poate avea următoarele valori:

magic_quotes_gpc - activați/dezactivați funcția magic_quotes_gpc


display_startup_errors - activați/dezactivați afișarea erorilor care apar în timpul rulării PHP

php_flag display_startup_errors 1


display_errors - activare/dezactivare afișarea erorilor în browser


output_buffering - activare/dezactivare buffering de ieșire a datelor


register_globals - activați/dezactivați variabilele globale


engine - activați/dezactivați execuția PHP în folderul în care se află .htaccess și în toate subfolderele

directiva2 (utilizată numai cu php_value) poate avea următoarele valori:


upload_max_filesize - setează dimensiunea maximă a fișierului de încărcare

php_value upload_max_filesize 10M


user_agent - setează valoarea șirului user_agent trimis de server

php_value user_agent „Mozilla/4.0 (compatibil; MSIE 6.0; Windows NT 5.1)”


post_max_size - setează dimensiunea maximă a mesajelor redirecționate


mysql.default_user - specifică numele de utilizator al bazei de date

php_value mysql.default_user databaseuser


mysql.default_password - setează parola pentru utilizatorul bazei de date

php_value mysql.default_password jk323jh4g


mysql.default_host - specifică numele gazdei bazei de date (de obicei localhost)

php_value mysql.default_host localhost


sendmail_from - setează e-mailul să trimită e-mail folosind PHP


auto_prepend_file - specifică fișierul care va fi adăugat la începutul fiecărui script PHP

php_value auto_prepend_file /www/public_html/myfile.php


auto_append_file - specifică fișierul care va fi atașat la sfârșitul fiecărui script PHP

php_value auto_append_file /www/public_html/myfile.php
Generator de vânzări

Timp de citit: 15 minute

Vă vom trimite materialul:

Dacă trebuie să configurați sau să suprascrieți setările serverului web Apache, precum și tipuri similare de servere, veți avea nevoie de fișierul .htaccess. Avantajul său este că permite utilizatorului de găzduire să seteze permisiunile și parametrii de care are nevoie pentru server. Este chiar posibil să efectuați această acțiune selectiv cu un număr de foldere.

Rețineți că, în cele mai multe cazuri, un astfel de fișier este utilizat pentru a crea redirecționări 301 de la URL-uri vechi la altele noi, pentru a reatribui tipuri de fișiere și pentru a controla accesul la directoare. Principalul avantaj al htaccess este faptul că vă permite să evitați lucrul cu fișierul de configurare principal.

Din acest articol veți învăța:

  1. Ce este un fișier .htaccess
  2. Pentru ce este și cum să-l configurezi
  3. Ce eroare poate apărea?

Ce este un fișier .htaccess

Mai întâi de toate, permiteți-ne să vă reamintim: fișierul htaccess este folosit atunci când lucrați cu Apache și alte servere și este ceea ce este necesar pentru a seta o serie de caracteristici ale acestora. Inițial, extensia voluminoasă, neobișnuită a fișierului .htaccess poate fi intimidantă, dar de fapt îl puteți deschide și face ajustări în orice editor de text.

Cert este că scopul creării formatului de fișier .htaccess este unic: cu acesta, fiecare utilizator poate face cu ușurință modificări în configurația serverului, fără a o afecta complet, lucrând doar cu site-ul său. Nu este un secret pentru nimeni că directivele de bază de configurare Apache sunt stocate în fișierul httpd.conf. Aceasta este întreaga dificultate, deoarece majoritatea utilizatorilor sunt lipsiți de acces la un astfel de fișier și, prin urmare, nu au drepturi de a face modificări. Dacă vorbim de găzduire virtuală, această problemă afectează, în principiu, fiecare utilizator - o astfel de modificare făcută de o singură persoană va afecta pe toată lumea.

Fișierul .htaccess are un alt nume, neoficial. Se numește dinamic pentru că ori de câte ori serverul face o cerere către directorul în care este conținut, se accesează și acest fișier. Această caracteristică ar trebui mai degrabă atribuită avantajelor fișierului htaccess. La urma urmei, toate ajustările aduse acestuia sunt actualizate imediat, fără a necesita o repornire a serverului. Rețineți că atunci când schimbați fișierul de configurare principal, nu puteți face fără repornirea serverului.

Acum să enumerăm complexitățile lucrului cu htaccess:

  1. Vă permite să suprascrieți multe dintre directivele stocate în fișierul httpd.confg.
  2. Fișierul .htaccess, când este plasat în directorul rădăcină, afectează întregul site. Cu toate acestea, excepția de la această regulă pentru fișierul .htaccess sunt directoarele care au un fișier de configurare separat și cele care se întâmplă să fie mai jos în structura arborescentă.
  3. Acest fișier este plasat în orice director și toate subdirectoarele vor respecta directivele sale.
  4. Utilizatorul nu poate vizualiza .htaccess din browser, deoarece acesta din urmă este inclus în categoria fișierelor de sistem.

Să rezumăm: Capacitățile .htaccess vă permit să simplificați configurarea serverului de către utilizator, precum și să influențați o serie de parametri:

  • directive simple de redirecționare (redirecționare);
  • directive complexe de redirecționare (mod_rewrite);
  • pagini index;
  • procesarea erorilor;
  • definirea codificării;
  • gestionarea accesului la directoare și fișiere;
  • crearea de parole a directorului;
  • Opțiuni PHP.

Pentru ce este și cum se configurează fișierul .htaccess

Acum să aruncăm o privire mai atentă asupra parametrilor de mai sus pe care fișierul .htaccess vă permite să îi utilizați.

Redirecționați între pagini sau site-uri

Amintiți-vă, pentru ca redirecționarea să funcționeze, înainte de rândurile despre care vom vorbi mai târziu, scrieți:

RewriteEngine Pornit

  • 301 Redirecționare de la o pagină la alta (sau site web).

Când lucrați cu extensia .htaccess pentru a redirecționa, trebuie să adăugați următoarele linii la fișier:

  • 301 Redirecționare de la un site www către un site fără www.

Să presupunem că vorbim despre o redirecționare de la http://www.site.com la http://site.com. Rețineți că aceasta este o mișcare foarte utilă și este adesea folosită în SEO. Există cod pentru asta:

Opțiuni +FollowSymLinks

RewriteEngine Pornit

Redirecționare inversă de la un domeniu fără www la un domeniu cu www

  • Redirecționați de la http://site.com la http://www.site.com.

Această operațiune este posibilă și în principiu, dar nu recomandăm utilizarea ei. În acest caz:

Opțiuni +FollowSymLinks

RewriteEngine Pornit

RewriteCond %(HTTP_HOST) ^domeniu\.com$

  • Redirecționarea persoanelor de pe site-ul anterior către cel nou.

Doar scrie:

  • Adăugarea .html la sfârșitul adresei URL.

În fișierul .htaccess, acest lucru se face pentru site-ul html, astfel încât la intrarea site.com/page sau site.com/page/ utilizatorul să fie redirecționat către site.com/page.html. Pentru a face acest lucru, scrieți în .htaccess:

RewriteCond %(REQUEST_URI) (.*/[^/.]+)($|\?)

RewriteRule .* %1.html

RewriteRule ^(.*)/$ /$1.html

  • Se elimină .html de la sfârșitul adresei URL.

Pentru a redirecționa de la site.com/page.html la site.com/page:

RewriteRule (.*)\.html$ $1

  • Eliminarea barei oblice de la sfârșitul adresei URL.

Să presupunem că adresa arăta inițial ca site.com/page/, iar acum este prezentată astfel: site.com/page, apoi avem nevoie de:

RewriteCond %(REQUEST_FILENAME) !-d

RewriteRule ^(.+)/$ /$1

  • 301 Redirecționare de la o secțiune la alta.

Avem nevoie ca din toate paginile unei anumite secțiuni site.com/razdel-1/razdel-2/page vizitatorul site-ului să ajungă la paginile altei secțiuni site.com/razdel-1/page, scriem:

  • 301 Redirecționați când vă mutați pe un domeniu nou.

Aici trebuie să redirecționați corect oaspeții de pe fiecare pagină a vechiului site către pagina celui nou care o înlocuiește. Să luăm ca exemplu oldsite.com/page și newsite.com/page. Apoi, în fișierul .htaccess pentru site este scris următoarele:


Trimiteți cererea dvs

Schimbarea corectă a paginilor de eroare în .htaccess

Deci, utilizatorul setează independent adresa sau face clic pe link. Astfel, trimite cererea corespunzătoare către serverul de găzduire. Și primește un răspuns cu un cod. În timpul funcționării neîntrerupte, vor fi primite codurile 1-399, iar dacă există o eroare, numerele vor fi după cum urmează: 400-599. Să ne imaginăm o situație simplă: serverul site-ului dvs. este supraîncărcat sau se repornește. Pe monitor, dacă o persoană încearcă să acceseze site-ul, de exemplu, va fi afișată 500 Internal Server Error. Utilizatorul mediu nu înțelege aceste cuvinte; el va decide în mod rezonabil că site-ul este deja depășit și închis. Există un singur efect din aceasta - persoana nu se va întoarce la tine.

Există o cale de ieșire din asta. Înlocuiți pagina de eroare standard (care sperie oamenii) cu propria dvs. pagină separată. Acesta va conține informații: site-ul nu este operațional momentan, dar va continua să funcționeze în curând și merită să-l aruncați din nou o privire. Un exemplu interesant este site-ul KinoPoisk. Când serverele sunt supraîncărcate, în concordanță cu tematica, aici sunt afișate mesajul „The Matrix is ​​being reloaded...” și o imagine din filmul cult.

Cel mai adesea, pentru a rezolva o astfel de problemă, își creează propria pagină, concepută pentru a înlocui standardul, dar de neînțeles pentru cei neinițiați, eroarea 404. Utilizatorul îl vede când încearcă să introducă adresa unei pagini inexistente.

Aici puteți notifica invitatul că a încercat să folosească un link inexistent. O mișcare bună ar fi să sugerați să nu închideți fila, ci să căutați informații pe acest site. Acum să trecem la lucrul principal: pentru a înlocui pagina de eroare cu a ta, creați o pagină separată (de exemplu, http://yoursite.com/404.html), furnizați fișierului .htaccess codul necesar. Acestea sunt opțiunile lui:

Să clarificăm nuanța: pentru a înlocui pagina de eroare 403, trebuie să scrieți un mesaj:

ErrorDocument 403 „Îmi pare rău, nu vă pot permite accesul astăzi, ne vedem mai târziu, aligator:)”

Configurarea securității site-ului în fișierul .htaccess

Creșterea securității site-ului este posibilă în multe feluri datorită acestei extensii. Mai jos vom numi zonele în care un astfel de fișier este cel mai des folosit în practică:

  • Protejarea site-ului dvs. de injecții de scripturi.

#Activează urmărirea legăturilor SIM

Opțiuni +FollowSymLinks

#Începe url_rewriting

RewriteCond %(QUERY_STRING) (\<|%3C).*script.*(\>|%3E)

#Blochează toate scripturile care încearcă să schimbe variabilele PHP Globals:

RewriteCond %(QUERY_STRING) GLOBALE(=|\[|\%(0,2))

#Blochează toate scripturile care încearcă să schimbe variabila _REQUEST:

RewriteCond %(QUERY_STRING) _REQUEST(=|\[|\%(0,2))

RewriteRule ^(.*)$ index.php

  • Protejarea site-ului dvs. de furtul de imagini.

De multe ori trebuie să ne confruntăm cu situații neplăcute când webmasteri vicleni adaugă calea către o imagine de pe site-ul altcuiva în codul propriei pagini. De ce au nevoie de asta? Deci imaginea este încărcată de pe serverul dvs., iar pagina principală este încărcată de pe serverul artizanului. Și acum a redus deja costurile traficului său în detrimentul tău. Pentru a proteja, trebuie să scrieți în fișierul htaccess:

Opțiuni +FollowSymlinks

#Interzice furtul pozelor

RewriteEngine Pornit

RewriteCond %(HTTP_REFERER) !^$

În exemplu, site-ul tău.com este adresa site-ului tău web.

Și așa va arăta calea către imaginea pe care ați creat-o: http://yoursite.com/images/stop_stealing.gif. Pe astfel de imagini ei lasă un mesaj de genul: „nu fura poze de pe site-urile altor persoane”.

  • Blocarea accesului la site pentru un utilizator prin IP.

Această caracteristică este necesară pentru a proteja site-ul de spammeri și alți dăunători. De asemenea, observăm că uneori poate fi folosit ca armă împotriva atacurilor hackerilor. Pentru a face acest lucru, trebuie să faceți următoarele:

#Inserați aici adrese IP nedorite

nega din 164.186.15.116

nega din 124.153.34.144

  • Blocarea accesului la site pentru toate IP-urile, cu excepția celor verificate.

Codul va permite accesul numai pentru un anumit grup restrâns de adrese IP:

#Interziceți accesul tuturor, cu excepția adreselor IP specificate

Comanda refuzată, permiteți

Permite de la 164.186.15.116

Permite de la 124.153.34.144

  • Împiedicați afișarea conținutului unui anumit folder.

Aici scriem:

#Dezactivează vizualizarea conținutului folderului

Opțiuni Toate -Indici

  • Interzicerea accesului la un anumit fișier prin htaccess.

Pentru a refuza accesul la un fișier folosind extensia htaccess, utilizați următorul cod:

#Protejează fișierul myfile.txt

comanda permite, refuza

  • Interziceți accesul la toate fișierele cu o anumită extensie.

Să presupunem că doriți să blocați accesul la toate fișierele .txt, apoi trebuie să scrieți:

Comanda Respinge, Permite

  • Blocarea agenților de utilizator inutile.

Există multe extensii inutile în browserul fiecărui utilizator. Ele diferă prin faptul că transmit diferite tipuri de informații inutile către serverele site-urilor web. O funcție similară este îndeplinită de roboți, păianjeni și chiar aplicații client instalate pe computerul utilizatorului. Folosind următorul cod, puteți obține date despre majoritatea așa-numiților „Agenți utilizator” activi în prezent.

#Blochează următorii agenți de utilizator

SetEnvIfNoCase user-Agent ^FrontPage

SetEnvIfNoCase user-Agent ^Java.*

SetEnvIfNoCase user-Agent ^Microsoft.URL

SetEnvIfNoCase user-Agent ^MSFrontPage

SetEnvIfNoCase user-Agent ^Offline.Explorer

SetEnvIfNoCase user-Agent ^ebandit

SetEnvIfNoCase user-Agent ^Zeus

Comanda Permite, Respinge

Deny de la env=bad_bot

Modificarea codificării site-ului folosind fișierul .htaccess

Credem că ați întâlnit povești în care un computer vă afișează site-ul fără probleme, dar, în același timp, un amestec de caractere de neînțeles apare pe altul în loc de litere. Problema este legată de codificare. Când creați un site web, trebuie să utilizați una dintre codificările comune, astfel încât browserele să o poată recunoaște:

  • UTF-8 – codificare universală pe dublu octet;
  • Windows-1251 – chirilic (Windows);
  • KOI8-r – chirilic (KOI8-R);
  • cp866 – chirilic (DOS);
  • Windows-1250 – Europa Centrală (Windows);
  • Windows-1252 - Europa de Vest (Windows).

În plus, acest parametru trebuie să fie indicat în metaeticheta fiecărei pagini - astfel browserul află despre codificarea site-ului. Arata cam asa:

Dar ce se întâmplă dacă metaeticheta nu este specificată? În acest caz, este posibil să folosiți fișierul .htaccess pentru a transmite aceste informații către browser. Iată codul de care aveți nevoie:

AddDefaultCharset WINDOWS-1251

Dacă este mai confortabil să lucrezi în paralel cu două metode, este important ca codificările din ele să se potrivească.

Rețineți că puteți face serverul să transcodeze în mod independent toate fișierele încărcate pe acesta:

CharsetSourceEnc WINDOWS-1251

În viitor, puteți anula funcția introducând codul:

CharsetDisable activat

Optimizarea site-ului folosind .htaccess

  • Accelerarea site-ului dvs. folosind Gzip.

Principiul de funcționare aici se bazează pe faptul că serverul pregătește fișierul comprimându-l înainte de a-l transmite utilizatorului. Drept urmare, obținem un avantaj semnificativ: viteza site-ului crește. Cu toate acestea, încărcarea pe serverul pe care este stocat site-ul dvs. crește ușor. La urma urmei, va trebui să comprime datele din mers.

Următoarele rânduri adăugate la fișierul .htaccess vă vor permite să începeți să utilizați această funcție. Verificați 3 opțiuni de cod. Așa că îl vei găsi pe cel care oferă cea mai mare accelerație:

FileETag MTime Size

ExpirăActiv pe

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_item_include mime ^application/x-javascript.*

mod_gzip_item_exclude mime ^image/.*

mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

  • Memorarea în cache a site-ului îmbunătățită pe server.

Memorarea în cache îmbunătățită este o caracteristică foarte importantă, deoarece elimină necesitatea de a descărca din nou datele site-ului dacă acestea au fost deja descărcate prima dată când le-ați vizualizat. Se pare că toate paginile vizualizate, începând de la a doua, se vor încărca mult mai repede pentru un anumit utilizator. Și, de asemenea, cu această tehnică vei reduce sarcina pe serverul tău. Pentru a îmbunătăți memoria cache a site-ului, veți avea nevoie de acest cod:

Expiră activ pe

Aplicația ExpiresByType/javascript „acces plus 7 zile”

ExpiresByType text/javascript „acces plus 7 zile”

ExpiresByType text/css „acces plus 7 zile”

ExpiresByType imagine/gif „acces plus 7 zile”

ExpiresByType imagine/jpeg „acces plus 7 zile”

ExpiresByType imagine/png „acces plus 7 zile”

FileETag MTime Size

ExpirăActiv pe

ExpirăDefault „acces plus 1 lună”

Să explicăm că este necesar să setăm timpul în care fișierele vor fi stocate pe computerul utilizatorului în blocul „acces plus...”. La încheierea acestei perioade, fișierele vor fi descărcate o singură dată de pe server atunci când se face o solicitare către site. Vă recomandăm să alegeți o perioadă de la 7 zile la o lună, deși în unele cazuri poate ajunge până la un an.

  • Schimbarea paginii principale (index) a site-ului.

Cel mai adesea, atunci când un utilizator vizitează un site, se încarcă pagina index.html sau index.php. Pentru ca această acțiune să înceapă încărcarea mypage.php, fișierul .htaccess trebuie completat cu următorul cod:

DirectoryIndex about.html

Configurarea parametrilor PHP folosind fișierul .htaccess

Toată lumea este obișnuită cu faptul că PHP este configurat în fișierul php.ini, dar o serie de setări pot fi specificate în .htaccess. Aici veți avea nevoie de două expresii: php_value pentru valori logice enable/disable), php_flag pentru valori numerice. Astfel de expresii sunt scrise după cum urmează:

directiva php_flag1 VALORE1

directiva php_value2 VALOR2

Mai mult decât atât, VALOAREA1 poate fi exprimată ca pornit, oprit, 1 sau 0 (1 și la pornire medie, iar 0 și oprire înseamnă oprire);

în loc VALUE2 este indicată orice valoare numerică/litera corespunzătoare unei directive specifice;

directiva1 este folosită exclusiv când se lucrează cu php_flag, poate fi reprezentată:

  • magic_quotes_gpc - activați/dezactivați funcția magic_quotes_gpc

php_flag magic_quotes_gpc activat

  • display_startup_errors - activați/dezactivați afișarea erorilor care apar în timpul rulării PHP

php_flag display_startup_errors 1

  • display_errors - activare/dezactivare afișarea erorilor în browser

php_flag display_errors 1

  • output_buffering - activare/dezactivare buffering de ieșire a datelor

>php_flag output_buffering activat

  • register_globals - activați/dezactivați variabilele globale

php_flag register_globals activat

  • engine - activați/dezactivați execuția PHP în folderul în care se află .htaccess și în toate subfolderele

motorul php_flag este oprit

directiva2 (utilizată numai cu php_value) poate avea următoarele valori:

  • upload_max_filesize - setează dimensiunea maximă a fișierului de încărcare

php_value upload_max_filesize 10M

  • user_agent - setează valoarea șirului user_agent trimis de server

php_value user_agent „Mozilla/4.0 (compatibil; MSIE 6.0; Windows NT 5.1)”

  • post_max_size - setează dimensiunea maximă a mesajelor redirecționate

php_value post_max_size 10M

  • default_user - specifică numele de utilizator al bazei de date

php_value mysql.default_user databaseuser

  • default_password - setează parola pentru utilizatorul bazei de date

php_value mysql.default_password jk323jh4g

  • default_host - specifică numele gazdei bazei de date (de obicei localhost)

php_value mysql.default_host localhost

  • sendmail_from - setează e-mailul să trimită e-mail folosind PHP

php_value sendmail_from

  • auto_prepend_file - specifică fișierul care va fi adăugat la începutul fiecărui script PHP

php_value auto_prepend_file /www/public_html/myfile.php

  • auto_append_file - specifică fișierul care va fi atașat la sfârșitul fiecărui script PHP

php_value auto_append_file /www/public_html/myfile.php

Cum să activați fișierul htaccess și să verificați funcționarea acestuia

Utilizarea acestui fișier utilizator este activată în mod implicit, iar interacțiunea acestuia cu fișierul de acces global este reglementată de directiva AllowOverride situată în acesta din urmă.

Această directivă este plasată exclusiv în bloc . Rețineți că valoarea implicită este și „Toate”, ceea ce afectează și funcționarea fișierelor .htaccess. Cu toate acestea, există o altă opțiune: dacă valoarea este „Niciuna”, acestea vor fi dezactivate. Dar trebuie remarcat faptul că există multe alte opțiuni pentru valori care impun anumite restricții asupra configurației. Iată exemplele lor:

  1. AuthConfig– Vă permite să utilizați directive de permisiuni pentru a proteja directoarele cu parole. Cu alte cuvinte, cu această valoare, autorizarea se realizează folosind un login și o parolă, care se numește autentificare de bază.
  2. Informații despre fișier– permite operarea directivelor care specifică tipuri de documente (anteturi, documente de eroare, cookie-uri, rescriere URL etc.).
  3. Indici– afișează o listă de fișiere în fața vizitatorului atunci când directorul selectat nu are un fișier index.html sau unul similar.
  4. Limită– vă permite să lucrați cu directive cheie de control al accesului (permitere, refuzare, ordonare), autorizare de limitare. Pe baza datelor de adresă ale dispozitivului client, poate restricționa accesul la fișiere.
  5. Opțiuni– face posibilă controlul listei de funcții de server din catalog care sunt deschise pentru utilizare. Să vă reamintim că directorul este indicat în< Directory>. Valoarea arată astfel: ExecCGI, FollowSymLinks, MultiViews, Includes etc.

Să trecem la aspectele practice: Când organizația dvs. de găzduire nu vă permite accesul la fișierul httpd.conf, ceea ce se întâmplă de obicei, cum puteți afla dacă suportul .htaccess este activat? Nu are rost să vă faceți griji.

Fișierele .htaccess aparțin categoriei de funcții utile, ele încearcă întotdeauna să le activeze sau fac acest lucru atunci când clientul își exprimă dorința. Prin urmare, dacă suportul .htaccess nu este specificat în configurația de găzduire, scrieți departamentului tehnic pentru a-l verifica. Probabil că știu să-ți răspundă!

Este important să înțelegeți că este posibil să verificați suportul fișierului standard .htaccess folosind două metode. Vom vorbi mai departe despre ele.

Metoda 1

Pentru această metodă ușoară, să forțăm Apache să caute „indexgood.html” înainte de „index.html” folosind directivele fișierului htaccess. Dacă .htaccess este suportat, apăsând folderul prin browser, Apache va încărca .htaccess și pagina „indexgood.html” va apărea pe ecran cu felicitări! În caz contrar, Apache va căuta fișierul „index.html” fără să acorde atenție .htaccess.

# Această directivă va forța Apache să caute

# „index_good.html” înainte de „index.html”

DirectoryIndex index_good.html index.html

Directiva DirectoryIndex primește o listă de fișiere probabile, separate prin virgulă. Dacă Apache este precedat de adrese URL de director, înseamnă că calea către fișier nu este o cale directă (nu http://www.example.com sau http://www.example.com/index.html), deci va recurge la listă pentru a găsi fișierul specificat. Lista se deplasează de la stânga la dreapta. Dacă primul fișier este găsit, acesta va fi descărcat și utilizatorul îl va vedea.

Metoda 2

Sintaxă incorectă obișnuită în fișierul dvs. .htaccess. este potrivit pentru testare - serverul nu va putea face față!

„AHHHHHHH” nu este o directivă Apache, ceea ce înseamnă că va provoca o eroare de îndată ce încearcă să vizualizeze fișierul htaccess. Ce ne spune asta? Dacă în fața dvs. apare o pagină cu „Eroare internă de server”, asistența funcționează. Deoarece această eroare înseamnă că serverul căuta fișierul .htaccess. Dacă vedeți index.html, acesta este dezactivat.

Cum se configurează fișierul htaccess pentru wordpress

Să discutăm pașii implicați în configurarea unui fișier htaccess pentru wordpress.

  1. Am stabilit o interdicție de vizualizare a conținutului directorului(folosim directorul vverx ca exemplu), care nu are un fișier index.txt.

Dacă salvăm fișierul standard, conținutul directorului și fișierele acestuia (listare) vor fi afișate în fața tuturor persoanelor care tastează /vverx/ în browser.

Nu avem nevoie de asta, așa că după linia # BEGIN WordPress scriem:

Opțiuni -Indici

Datorită directivei Opțiuni, este posibil să setați o serie de parametri similari. Deci directiva poate fi folosită cu parametrul Indexes. În acest caz, semnul afectează dacă vizitatorul poate vedea lista de fișiere. Deci, cu „-” nu se va vedea dacă directorul selectat nu conține un fișier index.txt sau similar. Și cu „+” va vedea. Rețineți că dacă aveți nevoie de protecție împotriva atacurilor hackerilor, Options este perfect.

  1. Specificați metoda de codificare

WP utilizează codificarea UTF-8 în mod implicit. Trebuie să forțăm să setăm codarea fișierului htaccess cu codul de mai jos. Acesta este singurul mod de a evita problemele inutile:

AddDefaultCharset UTF-8

Este bine că toată munca constă în adăugarea acestei linii scurte.

  1. Comprimarea conținutului

Utilizatorul nu știe că conținutul este comprimat - acest lucru se întâmplă pe server - și decomprimat pe dispozitivul său. Totuși, o astfel de operațiune este importantă deoarece reduce consumul de trafic, făcând paginile să se încarce rapid. Dar să repetăm: nevoia de operațiuni suplimentare crește încărcarea pe server.

Apache oferă două opțiuni de compresie. Experții aleg modulul mod_deflate. Pentru a face acest lucru, trebuie să introduceți codul în fișierul htaccess:

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4.0 no-gzip

BrowserMatch bMSIE !no-gzip !gzip-only-text/html

mod_gzip_item_include fișier \.js$

mod_gzip_item_include fișier \.css$

  1. Memorarea în cache

Această acțiune mărește viteza de încărcare a site-ului. Adevărat, nu orice obiect dintr-o pagină poate fi salvat, așa că stocarea în cache nu este întotdeauna potrivită. Deci această opțiune va funcționa grozav cu forumuri. La urma urmei, acestea sunt atât informații statice, cât și actualizate constant.

Pentru stocarea în cache, modulele mod_expires și mod_headers sunt utilizate în fișierul htaccess. Fiecare tip de fișier necesită o setare separată a perioadei de timp de stocare în cache sau absența acesteia. Să ne uităm la un exemplu de cod din fișierul mod_headers al fișierului htaccess, care nu permite stocarea fișierelor PHP în cache.

# Interzicerea stocării în cache a documentelor cu extensie php

Antet adăugați Cache-Control „fără stocare, fără cache, trebuie revalidat”

ExpirăActiv la ExpirăDefault „acum”

O metodă aproape ideală, potrivită pentru orice fișier, codificată astfel:

# Activați memoria cache în browserele vizitatorilor

# Toate extensiile html și htm vor fi stocate în memoria cache a browserului timp de o zi

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

# Toate formatele css, javascript și txt vor fi stocate în memoria cache a browserului timp de o săptămână

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

# Toate flash-urile și imaginile vor fi stocate în memoria cache a browserului timp de o lună

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

# Dezactivează memorarea în cache a php și a altor extensii

Antetul dezactivat Cache-Control

Ce eroare poate apărea în fișierul .htaccess

Ce ar trebui să fac dacă serverul dă o eroare 500 după crearea fișierului .htaccess - Eroare internă - Eroare de sintaxă sau fișierul este scris în format greșit? În acest caz, trebuie să verificați sintaxa .htaccess.

Acordați atenție fișierului error.log de la rădăcina site-ului dvs. (dacă există acolo). Să zicem că arată așa:

Apoi linia indică o eroare în fișierul w:/home/h15.ru/bospor/.htaccess (http://bospor.h15.ru/.htaccess): Directiva CustomLog nu este potrivită aici.

De unde pot descărca fișierul corect .htaccess

Folosind regulile descrise mai sus legate de fișierul .htaccess, îl puteți crea singur. Sau puteți descărca fișierul .htaccess, de exemplu, pentru Joomla sau WordPress. Deoarece este universal, include setări pentru orice blog WordPress. Fișierul .htaccess funcționează în conformitate cu următorul set scurt de reguli, care sunt urmate de majoritatea site-urilor WordPress:

Vă rugăm să rețineți că toate celelalte sunt introduse în mod individual.

Când ați reușit să descărcați fișierul optim .htaccess pentru WordPress, trebuie să îl deschideți în Notepad++. Faceți clic pe următorul Cntr+Fși înlocuiți zesite.ru implicit în șase locuri cu adresa site-ului dvs.

Dar să spunem că acest .htaccess optim pentru WordPress nu ți se potrivește pentru un anumit parametru, ce ar trebui să faci? Deschideți-l pentru editare pentru a șterge sau adăuga o regulă lipsă.

Deci, acum toate manipulările au fost finalizate, tot ce trebuie să faceți este să încărcați .htaccess optim pentru WordPress la rădăcina site-ului în loc de fișierul .htaccess aflat acolo.

Cu toate acestea, este important să înțelegeți că fișierul .htaccess va fi util în optimizarea site-ului doar dacă nu există probleme cu acesta din urmă. Dacă întâmpinați dificultăți, vă recomandăm să apelați la un audit de șantier de la profesioniști din domeniul lor.


Array ( => 21 [~ID] => 21 => 28.09.2019 13:01:03 [~TIMESTAMP_X] => 28.09.2019 13:01:03 => 1 [~MODIFIED_BY] => 1 => 09.21. 2019 10:35:17 [~DATE_CREATE] => 21/09/2019 10:35:17 => 1 [~CREATED_BY] => 1 => 6 [~IBLOCK_ID] => 6 => [~IBLOCK_SECTION_ID] => => Y [~ACTIVE] => Y => Y [~GLOBAL_ACTIVE] => Y => 500 [~SORT] => 500 => Articole de Dmitry Svistunov [~NAME] => Articole de Dmitry Svistunov => 11076 [ ~PICTURE] => 11076 => 7 [~LEFT_MARGIN] => 7 => 8 [~RIGHT_MARGIN] => 8 => 1 [~DEPTH_LEVEL] => 1 => Dmitry Svistunov [~DESCRIPTION] => Dmitry Svistunov => text [~DESCRIPTION_TYPE ] => text => Articole de Dmitri Svistunov Dmitri Svistunov [~SEARCHABLE_CONTENT] => Articole de Dmitri Svistunov Dmitri Svistunov => statyi-dmitriya-svistunova [~CODE] => statyi-dmitriya-svistunova => [~ XML_ID] => => [~TMP_ID] => => [~DETAIL_PICTURE] => => [~SOCNET_GROUP_ID] => /blog/index.php?ID=6 [~LIST_PAGE_URL] => /blog/index .php?ID=6 => /blog/list.php?SECTION_ID=21 [~SECTION_PAGE_URL] => /blog/list.php?SECTION_ID=21 => blog [~IBLOCK_TYPE_ID] => blog => blog [~IBLOCK_CODE ] => blog => [~IBLOCK_EXTERNAL_ID] => => [~EXTERNAL_ID] =>)

„1C-Bitrix: Site Management” funcționează cu orice nivel de drepturi pe care l-ați specificat în timpul instalării (instalării).

Pentru ca produsul să funcționeze corect cu folderele și fișierele cu specificațiile CHMOD(scris și creat), trebuie să setați în fișier / bitrix/php_interfata/dbconn.php urmatoarele constante:

Acestea sunt setările tipice ale drepturilor pentru majoritatea serviciilor de găzduire ( 0644 - pentru fișiere, 0755 - pentru foldere). Dacă întâmpinați probleme cu operarea, vă rugăm să contactați asistența tehnică pentru găzduire.

Puteți seta independent nivelul dorit de drepturi folosind comanda CHMODîn modul consolă.

Următorul apel setează nivelul de permisiune atât pentru fișiere, cât și pentru foldere:

Pentru a seta permisiunile individual pentru dosare, puteți utiliza următoarea sintaxă:

găsi. - tip d - exec chmod 0755 () ";"

Dacă trebuie să setați drepturi diferite pentru foldere și fișiere, atunci rulați următorul script:

define("BX_FILE_PERMISSIONS", 0644);

define("BX_DIR_PERMISSIONS", 0755);

funcția chmod_R($cale) (

$handle = opendir($cale);

while (fals!== ($fișier = readdir($handle))) (

dacă (($fișier!== ".") && ($fișier!== "..")) (

dacă (este_fișier($cale."/".$fișier)) (

chmod($cale. "/" . $fișier, BX_FILE_PERMISSIONS);

chmod($cale. "/" . $fișier, BX_DIR_PERMISSIONS);

chmod_R($cale. "/" . $fișier);

closedir($handle);


$cale=dirname(__FILE__);

Pentru a seta drepturi recursive separat pentru fișiere și foldere, puteți utiliza unele programe FTP clientii. De exemplu, FlashFXP versiunile 3.xx și mai mari.

FlashFXP De asemenea, vă permite să separați drepturile pentru fișiere și foldere, dar modifică drepturile mai lent.

Acordați atenție setărilor steagurilor corespunzătoare:

· Separata stabilitFişierșiPliantatribute(setați permisiunile pentru fișiere și foldere separat);

· aplicaschimbărilatoatesubdosareșifișiere(setarea recursiva a drepturilor asupra subdosarelor și fișierelor).

Fiecare setare are propriul nivel (Fig. 10.3 și Fig. 10.4):

https://pandia.ru/text/80/333/images/image084.gif" width="353" height="310 src=">

Orez. 10.4 Setarea permisiunilor pentru foldere

Notă: modul Managementul structurii vă permite să vizualizați drepturile de acces la fișierele și folderele setate la nivel de sistem (Fig. 10.5):

Proprietar" href="/text/category/vladeletc/" rel="bookmark">proprietar și grup de utilizatori (pentru *nix).

Utilizarea fișierelor. htaccess

Această secțiune descrie modul de configurare a serverului web Apache folosind fișierul .htaccess.

În cele mai multe cazuri, utilizatorul serverului nu are drepturi de acces la fișierul de configurare a serverului ( httpd. conf), care se aplică tuturor utilizatorilor. Fişier .htaccess vă permite să faceți modificări de configurare care vă vor afecta numai site-ul.

Pentru a configura fișierul .htaccess nu au fost ignorate de sistem, în fișierul de configurare a serverului httpd. conf se stabilește permisiunea de utilizare .htaccess.. Verificați cu suportul pentru această permisiune.

Fişier .htaccess conține directive care se aplică directorului în care se află fișierul, precum și tuturor subdirectoarelor din acest director. Dacă .htaccess situat în directorul rădăcină al serverului, efectul său se extinde la întregul server, cu excepția acelor directoare în care se află fișierul său .htaccess. Directivele dosarului .htaccess sunt aplicate în ordinea în care sunt găsite. Astfel, directivele unui fișier dintr-un director dat au prioritate mai mare decât directivele dintr-un director mai sus în arborele de directoare.

Când faceți modificări într-un fișier .htaccess nu este nevoie să reporniți serverul. Fişier .htaccess este verificat de fiecare dată când este accesat serverul, astfel încât modificările intră în vigoare imediat după ce sunt efectuate. Deoarece fișierul este un fișier de serviciu, acesta nu este accesibil utilizatorilor dintr-un browser web.

În general, sintaxa fișierului este .htaccess similar cu sintaxa fișierului principal de configurare. Cu toate acestea, efectul directivelor de fișier poate fi limitat de directivă AllowOverride. Determină ce tipuri de directive de fișiere .htaccess poate suprascrie setările de acces anterioare.

Notă:În timpul instalării, pasul de preverificare verifică procesarea fișierului .htaccess.

În dosarul de produs furnizat .htaccess implicit conține următoarele directive:

Opțiuni - Indici

ErrorDocument 404 /404.php

#php_flag allow_call_time_pass_reference 1

sesiune #php_flag. use_trans_sid dezactivat

#php_value display_errors 1

php_value mbstring. func_overload 2

php_value mbstring. codificare_internă UTF-8

Opțiuni +FollowSymLinks

RewriteEngine Pornit

RewriteRule.* -


RewriteCond %(REQUEST_FILENAME) !-f

RewriteCond %(REQUEST_FILENAME) !-l

RewriteCond %(REQUEST_FILENAME) !-d

RewriteCond %(REQUEST_FILENAME) !/bitrix/urlrewrite. php$

RewriteRule ^(.*)$ /bitrix/urlrewrite. php[L]

Index DirectoryIndex. index php. html

ExpirăActiv pe

ExpiresByType imagine/jpeg „acces plus 3 zile”

ExpiresByType imagine/gif „acces plus 3 zile”

Notă: pentru a activa comentat PHP directive este necesar să eliminați marcajul de comentariu ( # ) la începutul liniei. Dacă pe serverul tău Apache nicio permisiune de utilizare PHP-steaguri, executarea acestor directive va duce la o eroare internă (500). Dacă apare o eroare, trebuie să comentați din nou directivele punând semnul la începutul fiecăreia # .

Pentru ceilalti PHP directivele care nu sunt marcate cu un comentariu ( # ), a adăugat verificarea prezenței modulelor necesare Apacheîn sistem. Respectarea acestor directive nu va cauza o eroare în sistem.

· PHP directivă sesiune php_flag. use_trans_sid dezactivat dezactivează înlocuirea identificatorului de sesiune în linkul de pe site.

· sens PHP steag php_value display_errors, egal 1 , indică faptul că permisiunea de a afișa mesaje de eroare este activată, directivă php_value error_reporting determină nivelul de erori care va determina afișarea unui mesaj. Folosind aceste directive puteți configura modul de ieșire al interpretului PHP mesaje de eroare.

Directive php_value mbstring. func_overload 2Și php_value mbstring. codificare_internă UTF-8 gestionați setările bibliotecii mbstring.

· bloc de directive IfModule mod_rewrite. c- aceasta este stabilirea regulilor pentru mod_rewrite.

· directivă ExpirăActiv pe include stocarea în cache a imaginilor, ceea ce le permite să se încarce mai rapid atunci când paginile site-ului sunt accesate din nou. Directive ExpiresByType imagine/jpeg „acces plus 3 zile”Și ExpiresByType imagine/gif „acces plus 3 zile”, la rândul meu, determin formatul imaginii și perioada pentru care se va efectua memorarea în cache. În mod implicit, imaginile cu formatul sunt stocate în cache *.jpegȘi *.gif pe o perioadă de 3 zile.

Notă: după efectuarea modificărilor, fișier .htaccess trebuie salvat în format UNIX (pentru shell-ul FAR, opțiunea este „Salvare ca text UNIX”).

Erori de server

500 Eroare internă a server-ului

O eroare de server poate fi cauzată din diverse motive, așa că diagnosticarea acesteia este destul de complexă și necesită timp. Aceasta nu este o eroare „1C-Bitrix: Site Management”. Eroarea de server apare adesea pe găzduirea partajată din cauza resurselor limitate de sistem.

Când apare o eroare de server, primul lucru pe care trebuie să-l faceți este să vă uitați la fișierul serverului eroare. Buturuga. Acest fișier poate conține o linie cu un cod de eroare.

· Un exemplu tipic al cauzei unei erori de server poate fi depășirea drepturilor permise pe găzduire.

De exemplu, are loc o încercare de a executa un fișier cu atribute care nu au permisiunea de a rula pe server (de exemplu, fișierul are atributele 0755 , dar este permis 0711 ).

· Un alt motiv posibil poate fi prezența unui termen limită de execuție PHP-scripte. Sau sistemul nu are drepturi de scriere sau citire a fișierului etc.

· O altă cauză comună a unei erori interne de server este o încălcare a configurației serverului sau o încercare de a folosi instrucțiuni neautorizate, de exemplu într-un fișier .htaccess. În acest caz, trebuie să comentați sau să ștergeți linia care conține directiva nerezolvată în fișierul corespunzător (de exemplu, .htaccess).

Notă: Dacă PHP functioneaza ca CGI atunci eroarea 500 de pe server ar putea fi cauzată de o eroare fatală PHP. În acest caz, se recomandă să verificați codul programului și să diagnosticați eroarea.

Apache Web Server este un produs software puternic și bogat în funcții, cu o varietate de capabilități. Acest articol va discuta tehnicile de configurare Apache care sunt cel mai des întâlnite la dezvoltarea site-urilor Web.

După cum știți, toate setările serverului Apache se află în fișierul httpd.conf, care nu este întotdeauna accesibil. De exemplu, dacă utilizați un server virtual pe găzduire, când un server Apache deservește sute de site-uri, atunci, desigur, nu puteți permite proprietarului unui site să schimbe configurația serverului, ceea ce va afecta toate celelalte site-uri. Cu toate acestea, serverul Web Apache permite configurarea la nivel de director individual folosind fișiere .htaccess. Lucrul cu aceste fișiere, ca singurele fișiere de configurare care sunt disponibile pentru majoritatea dezvoltatorilor web, va fi punctul central al acestui articol.

Fișierul .htaccess (cu un punct la începutul numelui) este un fișier de configurare care face posibilă personalizarea funcționării serverului la nivelul directoarelor individuale: setați drepturi de acces la fișierele din directoare, schimbați numele de index. fișiere, procesează în mod independent codurile de răspuns HTTP, modifică adresele paginilor solicitate.

Notă
Fișierul .htaccess poate fi plasat în orice director. Directivele acestui fișier afectează toate fișierele din directorul curent și toate subdirectoarele acestuia (cu excepția cazului în care aceste directive sunt suprascrise de directivele fișierelor .htaccess din subdirectoare).

Modificările aduse fișierelor .htaccess au efect imediat și nu necesită o repornire a serverului, spre deosebire de modificările aduse fișierului principal de configurare httpd.conf.

Pentru ca fișierele .htaccess să fie utilizate, sunt necesare setări adecvate în fișierul de configurare principal httpd.conf, unde trebuie scrise directive care să permită fișierului .htaccess să suprascrie configurația serverului Web din director. Lista acestor directive este specificată de directiva AllowOverride.

Directiva AllowOverride poate include una sau o combinație a următoarelor directive: AuthConfig, FileInfo, Indexes, Limit, Options, All, None

Pentru a acorda directivelor fișierelor .htaccess drepturi maxime de modificare a directivelor, valoarea directivei AllowOverride din fișierul httpd.conf trebuie să fie egală cu All. Aceasta este valoarea implicită.

AllowOverride All

Puteți preveni suprascrierea oricăror directive din fișierele de configurare.htaccess folosind valoarea None:

AllowOverride Nici unul

cometariu
Numele fișierului de configurare poate fi schimbat și, de exemplu, numiți-l nu .htaccess, ci access.conf. Numele acestui fișier este determinat de directiva AccessFileName din fișierul httpd.conf. Schimbarea numelui fișierului de configurare .htaccess nu este recomandată, deoarece acest lucru poate complica în continuare suportul pentru server.

Sintaxă.htaccess

Înainte de a ne uita la exemple, să ne uităm la sintaxa directivelor din fișierele .htaccess.

  • Căile către fișiere și directoare trebuie specificate de la rădăcina serverului, de exemplu, /pub/articles/masters/php/
  • Când se specifică adrese URL absolute, trebuie specificate protocoalele, de exemplu: Redirecționare / http://www.site.ru
  • În fișierele .htaccess, spațiile nu sunt permise în căile către fișiere și în numele fișierelor în sine, deoarece aceasta duce la generarea unui cod de răspuns de 500 - eroare de configurare a serverului: „Eroare de server intern”.

Exemple de utilizare a .htaccess

Pagini index:

Pot apărea situații când este necesară modificarea compoziției fișierelor index, de exemplu, dacă este necesară pagina de index index.php, dar nu este scrisă în fișierul de configurare principal httpd.conf. Această problemă poate fi rezolvată folosind fișierul .htaccess, în care trebuie să creați o directivă DirectoryIndex, care va lista numele paginilor de index:

DirectoryIndex index.php index.shtml index.html

Când solicitați un director fără a specifica un nume de fișier, va căuta mai întâi o pagină numită index.php. Dacă o pagină cu acest nume nu se află în director, atunci operațiuni similare vor fi efectuate cu fișierul index.shtml etc. până la sfârșitul listei până când pagina corespunzătoare este găsită și deschisă.

Interzicerea afișării conținutului directorului dacă nu există un fișier index

Adesea doriți să împiedicați afișarea unei liste de fișiere dintr-un director dacă nu este specificat sau lipsește un fișier index. De exemplu, interziceți afișarea conținutului unui director cu imagini. Dacă o astfel de interdicție nu este setată, atunci un utilizator care accesează direct un astfel de director va primi o listă cu toate imaginile.

Opțiuni – Indici

Procesarea codurilor de răspuns ale serverului web Apache

Niciun site nu este imun la erori. Cea mai frecventă greșeală este urmărirea unui link către o pagină inexistentă. În acest caz, Apache generează un cod de răspuns 404 și afișează o pagină de eroare generată automat. A avea pagini inexistente creează o impresie proastă asupra vizitatorilor site-ului. Această impresie poate fi netezită dacă, în loc de pagini standard, înlocuiți propriile pagini cu un mesaj de eroare. Directiva ErrorDocument este responsabilă pentru alocarea paginilor care gestionează coduri de răspuns HTTP.

ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

După directiva ErrorDocument, trebuie să specificați codul de răspuns și pagina către care vizitatorul ar trebui să fie redirecționat atunci când apare acest cod de răspuns.

  • Eroare 401 - Solicitarea necesită autentificarea utilizatorului (Neautorizat).
  • Eroare 403 - Accesul la resursa solicitată este interzis (Interzis).
  • Eroare 404 - Documentul solicitat nu este găsit pe server (Nu a fost găsit).
  • 500 error - Eroare de configurare a serverului sau a programului extern (Eroare internă a serverului).

Executați cod PHP în fișiere HTML

De obicei, codul PHP este executat în fișiere cu extensii php. Uneori apar situații când este necesar să executați cod PHP în fișiere cu o extensie diferită. În acest caz, puteți instrui serverul Web să execute cod PHP nu numai în fișierele cu extensia php, ci și în fișierele cu extensia html.

RemoveHandler.html.htm
Aplicație AddType/x-httpd-php .php .htm .html .phtml

Prima linie elimină handlerul pentru fișierele cu extensiile html și htm, iar a doua linie îi spune serverului să folosească handlerul PHP pentru fișierele cu extensiile htm și html

Setarea codificării fișierelor pe server

Codificarea specificată este trimisă browserului în antetul Content-Type și va permite browserului clientului să comute automat la codificarea necesară.

AddDefaultCharsetWindows-1251

Setarea codificării fișierelor descărcate

Când încărcați fișiere pe server, puteți specifica în ce codificare ar trebui să aștepte serverul fișierul.

CharsetSourceEnc windows-1251

Dezactivarea directivei MultiViews

Opțiunea MultiViews activată pe găzduire poate cauza probleme neașteptate, de exemplu, afișarea paginilor de site inexistente. Să presupunem că există o pagină pe site cu adresa http://www.sait.ru/down.php, iar dacă vizitatorii merg la directorul inexistent http://www.sait.ru/down/, atunci opțiunea MultiViews activată va înlocui fișierul down.php. Cu toate acestea, înlocuirea nu va fi finalizată complet - căi către imagini, foi de stil etc. va fi introdus incorect. Adică pagina va fi afișată cu distorsiuni. Pentru a suprima acest comportament Apache, opțiunea MultiViews ar trebui să fie dezactivată.

Opțiuni -MultiViews

Interzicerea accesului la fișiere

Pentru a împiedica vizitatorii să acceseze fișierele de serviciu dintr-o fereastră de browser, puteți bloca accesul la astfel de fișiere. Pentru a face acest lucru, utilizați directiva Deny și directiva de permisiune de acces.

Notă
Utilizarea directivelor Deny și Allow controlează doar accesul la fișiere din browser sau din alt program client. Astfel de interdicții nu se aplică scripturilor de server.

Blocarea accesului la fișiere din browser

Negați de la toți

Când utilizați o astfel de directivă, accesul din browser la toate fișierele și directoarele din directorul curent va fi refuzat.

Interziceți accesul la un anumit fișier

Negați de la toți

Aici, numai accesul la fișierele numite config.php este interzis.

Interzicerea accesului la fișierele de extensie inc

Negați de la toți

* — orice succesiune de caractere, excluzând caracterul bară oblică (/).

Interziceți accesul la fișierele cu mai multe tipuri de extensii

Negați de la toți

Accesul la fișierele cu extensia inc, conf și cfg este interzis

Interziceți accesul de la o anumită adresă IP

Refuza de la 195.135.232.70

Permite accesul numai de la o anumită adresă IP

Comanda refuzată, permiteți
Negați de la toți
Permite de la 195.135.232.70

Directiva Order vă permite să specificați ordinea în care vor fi executate directivele. Mai întâi, este executată directiva de refuzare a accesului (directiva Deny), iar apoi accesul este permis pentru adresa IP 195.135.232.70 (directiva Allow). Dacă în prima linie modificați ordinea directivelor la Order allow, deny, atunci accesul pentru adresa IP 195.135.232.70 nu se va deschide, deoarece Directiva Deny executată ultima va înlocui directiva Allow.

Notă
Trebuie remarcat că permiterea accesului de la o anumită adresă IP poate să nu funcționeze uneori. De exemplu, dacă găzduirea are instalat un server proxy de cache inversă. Dacă directivele privind permisiunea de acces nu funcționează, atunci trebuie să contactați asistența tehnică pentru găzduire în legătură cu această problemă.