.htaccess. Instrucțiuni pentru începători
Să nu ne pierdem timpul, începem!
În primul rând, trebuie să înțelegem ce este un fișier .htaccess și mod_rewrite.
.htaccess - fișier de configurare, serverul Apache.
Mod_rewrite - un modul utilizat de serverele web pentru a converti URL-uri.
.htaccess este un document text obișnuit, extinderea care htaccess. Acest fișier este de obicei localizat în site-ul rădăcină, dar puteți crea și .htaccess-fișiere suplimentare pentru diferite directoare de pe site.
Eliminarea paginilor duplicat
Soluția la această problemă este simplă și arată astfel:
Modificarea extinderea html php
Uneori se întâmplă că aveți un site web static, dar trebuie să defalcările pe ea orice script PHP. Pentru a face acest lucru, trebuie să-i spuneți server pentru a analiza această pagină ca un php-fișier.
Această tehnică poate fi utilizată și pentru alte extensii de fișiere:
Definiți propriile pagini de eroare
Ce este .htaccess?
Acest fișier este ajustarea flexibilă a serverului web Apache. „Flexibil“ înseamnă că imediat ce ai schimba ceva în acest fișier, modificările au efect imediat. Cu acesta, puteți trece peste multe dintre directivele în httpd.conf (acest fișier este fișierul principal de configurare a serverului Apache și se aplică pe deplin tuturor utilizatorilor de această copie Apache). În cazul în care nu au acces la fișierul de configurare Apache (același virtual hosting), vă poate ajuta acest fișier special.
Acest fișier nu este disponibil pentru utilizator dintr-un browser web. Dacă fișierul .htaccess localizat în directorul rădăcină al serverului, apoi se aplică la întregul server, în plus față de dosarul în care alt fișier .htaccess (și, în plus față de toate dosarele „mai jos“ dosarul cu al doilea .htaccess).
exemplu:
Structura de directoare pe server este după cum urmează:
Director user1 și USER2 vor fi imbricate cu privire la directorul de utilizator. Dacă ne-am pus în .htaccess directorul de fișiere www, acesta se prelungește automat în directorul user1 și USER2.
Directorul de date pune un alt fișier .htaccess în comparație cu ceea ce este în directorul de utilizator. Și în date1 și directorul date2 va acționa fișier .htacsess în datele.
Acum, în Utilizator2 directorul am pus un alt fișier .htaccess, care este diferit de ceea ce este în nivelurile directorul 2mya de mai sus (acest director utilizator). Ca urmare, setările pentru directorul utilizator2 va fi determinată doar de fișierul .htaccess, care se află în acest director.
Deoarece cele mai multe ori Apache este configurat în așa fel încât întotdeauna caută fișierul în directorul, .htaccess vă va ajuta rapid și fără oprire server pentru a face reconfigurarea acesteia.
Aici este sintaxa unui obligatorie, eșecul care duce la eroarea de server:
- căi de fișiere (directoare) sunt specificate de la rădăcină server. EXEMPLU: /opt/home/www.astanafoto.com/htdocs/config/.htpasswords
- domenii care indică protocolul
exemplu:
Fișierul este numit exact „dot“ htaccess
Acesta trebuie să fie înregistrate în format UNIX. Pentru coajă FAR, a ajuns la F4 (editare fișier), Shift + F2 (selectați "salvați ca UNIX-text").
SSI permite pagina „collect“ a pieselor. Într-o singură bucată de cod de meniu într-un alt cod de sus a paginii, în al treilea - în partea de jos. Un vizitator vede pagina normală, care include codul care este inclus în piesele tale.
Ar trebui să fie întotdeauna instalat în httpd.conf:
In blocul incepand cu
O dată, în fișierul .htaccess, scrie:
Cum să obțineți Apache pentru a efectua în html cod documente php?
Uneori este util să „trișeze“ vizitatorul, oferindu-i mei php-script-uri sau alte fișiere ca fișiere HTML. Acesta este, de fapt folosit pentru indexare de căutare Rambler php-motor de script-uri. Unii fac chips-uri mici, cum ar fi cea dată de expansiune Halyards coincide cu orice nume „iconice“. De exemplu, site-ul www.osg.ru folosit fișiere cu OSG: index.osg, script.osg etc.
La un trafic mare de server poate cauza frânelor. Cereți administratorului.
Cum să se ocupe de erori Apache?
Cum de a pune o interdicție pe afișarea conținutului unui director fără un fișier de index?
Este posibil să se specifice codificarea tuturor fișierelor, care primește browser-ul implicit documentele?
La începutul internetului și apariția unor browsere de multe ori a fost cazul în care browser-ul nu a putut determina în mod automat care dintre codificările din România document scris și browser-ul a fost acordat unele terci. Pentru a evita acest lucru, precizăm că toate paginile vor trebui să dea ferestre-1251:
.htaccess - Protejați-vă și site-ul dvs.!
După citirea acestui articol, vă puteți retrage securitatea personală a site-ului dvs. la un nou nivel.
Mesaje de eroare prioritari
Una dintre caracteristicile utile oferite de Apache, este înlocuirea unui standard mesaje de eroare de server web, lor. Pentru aceasta este directiva ErrorDocument.
Notă: atunci când specificați un cod HTML în prezenta directivă sunt puse între ghilimele doar începutul liniei (a se vedea exemplul.)!
Căile de fișier sunt raportate la directorul rădăcină al web gazdă, nu sistemul de fișiere (corect: /errors/404.html; greșit: /var/www/myhost/html/errors/404.html).
Dacă aveți nevoie pentru a proteja o parte a conținutului site-ului dvs. din exterior, puteți utiliza directivele AUTH din familie. Ei forța server pentru a cere numele de utilizator și parola clientului pentru a accesa conținutul directorul în care este plasat .htaccess, precum și sub-directoare.
Pentru a face acest lucru, trebuie să creați un fișier de parolă (de obicei numit .htpasswd) și puneți-l într-un loc sigur (de exemplu, într-un director de nivel superior, care este rădăcina gazdei, de exemplu, în cazul în care site-ul este localizat in / home / utilizator / html, atunci. htpasswd este mai bine pentru a pune în / home / utilizator). Pentru a crea un .htpasswd utilizează utilitarul htpasswd din kit-ul Apache.
Pentru a seta securitatea pe un director ar trebui să fie plasate în ea .htaccess următoarele:
În final, definește un set Se solicită de condiții pentru care este determinat care este listat în .htpasswd utilizatorul are acces la acest director site-ului. „Valabil-utilizator“ înseamnă că accesul este disponibil la orice utilizator, după introducerea unei parole; Puteți fi separate cu un spațiu pentru a lista numele utilizatorilor care li se acordă acces în locul valabil utilizatorului.
Activarea suportului SSI
În cazul în care nu este implicit SSI activat (sau pe care doriți să adăugați un alt tip de fișiere pentru a procesat directivele SSI) și setările de server web vă permit să utilizați următoarele directive în .htaccess atunci scrie aceste rânduri:
Sintaxa acestor directive este după cum urmează:
provocând refuzul de acces pentru toate, dar rețeaua 192.168.0.0/24, toate gazdele, numele DNS care conține .localnet, precum și gazdă, numele DNS este admin.somewhere.in.the.net.
Dacă doriți să refuze accesul la un grup de gazde utilizare, așteptați, Deny:
Principiul este simplu. Ordinul stabilește ordinea de manipulare permite / refuza norme; dacă luăm un al doilea exemplu, serverul procesează prima regulă de a permite tuturor, iar apoi gazdele care au trecut de această regulă sunt supuse unor reguli de validare deny; cu toate gazdele rețelei și gazdă 192.168.1.0/24 hackers.are.everywhere.in.the.net nu trec acest test, și nu primesc acces.
Mai multe aplicatii complexe:
- Această regulă va interzice orice acces la fișierul gazdă cu extensia .txt și .dat (cum ar fi datele scriptului interne pot fi stocate în ele).
Bloc de referrer
Prin utilizarea modulului mod_rewrite și fișierul .htaccess pot fi de a interzice accesul la resursele, în cazul în care clientul a venit cu unele site-ul specific (pentru blocare referer'u).
Acest lucru necesită următoarele directive .htaccess:
Sau, dacă doriți să listați mai mult de un site,
Dacă doriți să refuzați accesul la toate gazdele în mod direct, cu excepția anumitor set de reguli va arata ceva de genul:
Setați / Modificați fișierul index și secvența de procesare poate fi Directiva DirectoryIndex
De exemplu:
Pentru organizarea .htaccess redirecționa fonduri suficiente linii de forma:
dacă doriți să redirecționați întregul conținut al unui subdirector:
redirecționa tot site-ul:
Interzicerea trimiteri la .htaccess
Protejați-le după cum urmează, cu toate acestea, implicit este deja în httpd (2) .conf, adică, în însăși configurația serverului Web.
Directiva Pentru a adăuga un tip MIME este utilizat
Acesta este utilizat în cazurile în care configurația implicită determină serverul pentru a trimite un document nu este așa cum este necesar; de exemplu, multe dintre serverele implicite implică tipul de text / simplu, și un fișier binar (de exemplu, arhiva RAR-), descărcat de pe acest server, acesta poate fi bine „rupt“.
Interdicția de legături directe către resurse
Dacă doriți să evite așa-numitele „hotlink“ - legături directe cu resursele dvs. cu alte site-uri - vă încă o dată poate ajuta în combinație cu mod_rewrite .htaccess.
Pentru a începe cu, ceea ce este hotlink rău. De exemplu, un site găzduiește imaginea care este pe site-ul dvs., pur și simplu prin specificarea-l în tag-ul
. În acest caz, toate referirile la această pagină provoca o descărcare de imagini de pe site; astfel, consumă traficul și capacitatea canalului de server, iar vizitatorii vor vedea un alt site web o imagine stocată în tine, în lipsa unui context adecvat.Cum să se ocupe cu astfel de practici?
Luați în considerare următorul exemplu al fișierului .htaccess:
Când apelați din afara la imaginile stocate pe site-ul dvs., în loc de imagini se vor afișa conținutul fișierului youaretheworst.gif.
Ban lista fișierele
Apache (atunci când opțiunile relevante) poate afișa o listă de fișiere într-un director, dacă are nici una din cele de mai sus în fișierele DirectoryIndex. Adesea, această opțiune este activată în mod implicit, care poate fi inacceptabil.
linie
dezactiva această funcție.
Cu toate acestea, uneori, dimpotrivă, este necesar pentru a permite pentru a vizualiza lista de fișiere, precum și eliminarea părții din ele. În acest scop IndexIgnore.
De exemplu,
Acesta permite să lista toate fișierele, cu excepția PHP și Perl script-uri, și documente HTML.