Ghidul suprem pentru fișierul WordPress .htaccess

Publicat: 2022-08-10

Chiar nu sunt ușor de înțeles: codul meu implicit arată ca chinezesc.

Mă remarc prin aspectul meu singular, deoarece numele meu nu are extensie.

Am si puteri magice. Dacă m-ați configurat corect, sunt capabil să fac următoarele:

  • Îmbunătățirea securității site-ului dvs.
  • Creșterea vitezei de încărcare a paginilor dvs.
  • Configurarea redirecționărilor.
  • Limitarea spam-ului.
  • Și chiar să fac câteva glume: asta e partea mea obraznică.
Într-adevăr?!
Glume? Într-adevăr?

Încă nu știi cine sunt? Sunt fișierul .htaccess al site-ului dvs. WordPress. Să mă cunoaștem mai bine în acest ghid despre cum lucrez.

De-a lungul acestor rânduri, veți descoperi mai mult de treizeci de linii directoare pentru configurarea mea. Ele se materializează sub formă de bucăți de cod gata de utilizare, pe care va trebui doar să le copiați și să le lipiți acasă.

Continuați să citiți, nu veți fi dezamăgiți!

Prezentare generală

  1. Ce este un fișier .htaccess?
    1. Cum funcționează fișierele .htaccess?
      1. Cum se creează un fișier .htaccess
        1. Măsuri de precauție înainte de a personaliza un fișier .htaccess
          1. Cum să vă modificați corect fișierul .htaccess.
            1. Cum să personalizați fișierul .htaccess la rădăcina unui site web?
              1. Cum să personalizați fișierul .htaccess în wp-admin
                1. Cum să personalizezi fișierul .htaccess în wp-includes?
                  1. Cum să personalizezi fișierul .htaccess în wp-content?
                    1. Cum să personalizezi fișierul .htaccess în wp-content/uploads?
                      1. Recapitulare finală a fișierului .htacess din WordPress

                        Scris inițial în octombrie 2015, acest articol a fost actualizat ultima dată în iulie 2022.

                        Cele mai bune proiecte WordPress au nevoie de cea mai bună gazdă!

                        WPMarmite recomandă Bluehost: performanță excelentă, suport excelent. Tot ce ai nevoie pentru un început excelent.

                        Încercați Bluehost
                        CTA Bluehost WPMarmite

                        Ce este un fișier .htaccess?

                        Un fișier .htaccess este un fișier de configurare pentru Apache, software-ul pe care majoritatea serverelor web îl folosesc pentru a rula. Conținutul acestui fișier va da directive lui Apache, astfel încât serverul să se comporte într-un anumit mod.

                        Atenție, unele gazde web rulează doar pe serverul NGINX. Acesta este cazul Flywheel, de exemplu. Nu au un fișier .htaccess .

                        Aproape toate site-urile web care folosesc WordPress au un fișier .htaccess . De fapt, WordPress îl creează automat în timpul instalării, pentru a include setările de permalink-uri pentru site.

                        Când accesați Setări > Legături permanente pentru a alege un format URL (în mod normal „Nume postare”), fișierul .htaccess este modificat.

                        Cum funcționează fișierele .htaccess?

                        Trebuie să știți că un site web poate avea mai multe fișiere .htaccess .

                        În primul rând, există fișierul principal .htaccess , situat la rădăcina site-ului web.

                        Rădăcina unui site web este locul în care fișierele WordPress ( wp-admin , wp-includes și wp-content foldere plus câteva alte fișiere) se află pe serverul dvs. Le puteți accesa conectându-vă la clientul dvs. FTP, de exemplu. Numele acestui folder rădăcină poate varia în funcție de furnizorul dvs. de găzduire. De exemplu, se numește public_html cu Bluehost (link afiliat) și www cu OVH.

                        Conținutul fișierului principal .htaccess va influența întregul site web.

                        Alte fișiere .htaccess pot fi create în subdirectoare. În cazul WordPress, unul poate fi plasat în directorul wp-admin sau wp-content/uploads , de exemplu.

                        Fișierele secundare .htaccess vor influența directoarele în care se află, precum și subdirectoarele acestora.

                        Dacă ne imaginăm că un fișier .htaccess este prezent în wp-content/uploads , directorul de uploads și toate subdirectoarele sale vor fi afectate de ceea ce este definit în fișierul .htaccess .

                        Cum se creează un fișier .htaccess

                        În mod logic, site-ul tău ar trebui să aibă cel puțin un fișier .htaccess , cel situat la rădăcina site-ului tău. Îl puteți edita folosind editorul de cod preferat (Sublime Text, Brackets, Notepad++, Coda etc.).

                        Există și alte soluții, cum ar fi pluginul Htaccess File Editor, pentru a-l edita direct din tabloul de bord WordPress.

                        Dar, dacă există probleme, va trebui să parcurgeți clientul FTP și editorul de cod, așa că ați putea la fel de bine să o faceți direct manual.

                        Dacă trebuie să adăugați un fișier .htaccess la un subdirector, urmați aceste instrucțiuni.

                        Creați un fișier .htaccess de pe computer

                        1. Creați un fișier text nou și denumiți-l htaccess.txt .
                        2. Editați-l după cum doriți.
                        3. Trimite-l la rădăcina serverului tău.
                        4. Redenumiți-l .htaccess .
                        Un fișier .htaccess pe un software FTP.

                        Creați un fișier .htaccess de pe serverul dvs

                        1. Faceți clic dreapta în directorul unde ar trebui să fie.
                        2. Adăugați un fișier nou și denumiți-l .htaccess.
                        3. Editați-l cu editorul de cod (Notepad++, Coda, Sublime Text sau altele).

                        Felicitări, acum știți pentru ce este un fișier .htaccess și cum să îl creați. Înainte de a afla ce îndrumări puteți adăuga la acesta, nu uitați să fiți precaut!

                        Ai grijă la ochi, s-ar putea să usture!

                        Măsuri de precauție înainte de a personaliza un fișier .htaccess

                        Personalizarea codului unui fișier .htaccess este destul de simplă (în special cu fragmentele de cod oferite în restul acestui articol), dar totuși nu ar trebui să intri în el cu armele aprinse.

                        Înainte de a face orice modificare, vă recomand să faceți mai întâi o copie de rezervă a site-ului dvs. WordPress. Pentru aceasta, puteți utiliza un plugin dedicat precum UpdraftPlus.

                        Apoi, salvați conținutul inițial al fișierului dvs. .htaccess . Pentru a face acest lucru, puteți:

                        • Duplicați fișierul .htaccess de pe serverul dvs. într-un fișier .htaccess-initial .
                        • Copiați conținutul fișierului într-un fișier text, pe computer.

                        Dacă aveți o problemă, puteți restabili cu ușurință conținutul original.

                        Cum să vă modificați corect fișierul .htaccess.

                        Pentru a face orice modificări, urmați procedura de mai jos:

                        • Deschideți fișierul în editorul de cod.
                        • Puneți completările dvs. în fișier.
                        • Salvați-l.
                        • Actualizați-vă site-ul web pentru a vedea dacă totul este în regulă.

                        Reîmprospătarea site-ului dvs. este foarte importantă: vă va ajuta să vedeți dacă există probleme cu codul adăugat.

                        În general, pe ecran va apărea o eroare 500 „Eroare internă a serverului”, dacă există o problemă:

                        Exemplu de eroare internă de server 500.

                        În acest caz, anulați modificările și salvați din nou. Totul ar trebui să revină la normal.

                        Uneori, unele gazde nu acceptă un anumit cod în fișierul .htaccess ...

                        Va trebui să te descurci cu asta.

                        Contactați serviciul clienți al gazdei dvs. pentru a afla mai multe. Sperăm că va avea nevoie doar de o mică modificare pentru a-l face să funcționeze.

                        Întâmpinați o eroare WordPress, cum ar fi eroarea tipică și răspândită 500? WPMarmite oferă un ghid cuprinzător pentru rezolvarea celor mai importante.

                        De data asta, totul e bine. Știți cum funcționează un fișier .htaccess , cum să îl creați și să îl editați corect.

                        Acum aflați cum să-l personalizați în 5 locuri diferite:

                        1. La rădăcina site-ului
                        2. În wp-admin
                        3. În wp-includes
                        4. În wp-content
                        5. În wp-content/uploads

                        Să începem imediat cu rădăcina site-ului. Veți vedea, aceasta va fi cea mai consistentă piesă.

                        Ca în orice limbaj de calculator, fișierul .htaccess vă permite să includeți comentarii. Pentru a face acest lucru, pur și simplu plasați simbolul # la începutul unei linii, astfel încât linia să fie ignorată. Acest lucru este foarte util pentru a vă aminti ce linii de cod efectuează. Veți putea vedea comentarii în exemplele din acest articol.

                        Cum să personalizați fișierul .htaccess la rădăcina unui site web?

                        Dacă instalarea a mers bine, veți găsi un fișier .htaccess la rădăcina site-ului dvs. web. Acesta va conține următorul cod:

                         # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\. php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
                        Codul implicit al fișierului WordPress .htaccess

                        Dacă utilizați WordPress în modul multisite, codul implicit al fișierului .htaccess va fi diferit. Acest lucru nu vă va afecta în majoritatea cazurilor.

                        Acum că ați localizat acest fișier, veți putea să-i îmbunătățiți conținutul cu fragmentele de cod de mai jos pentru a realiza anumite lucruri. Acesta poate fi vorba despre securitate, dar și despre alte lucruri.

                        Asigurați-vă că nu includeți niciun cod între comentariile # BEGIN WordPress și # END WordPress deoarece este posibil ca acest cod să fie modificat în unele cazuri.

                        Un alt memento: salvați fișierul original .htaccess înainte de a face orice modificări. Trebuie să te poți întoarce dacă ai probleme.

                        Dezactivați directoarele afișate

                        În mod implicit, dacă încercați să accesați directoarele unui site web, serverul le va afișa. Formatarea va arăta astfel:

                        Indexul /wp-include

                        Vă puteți imagina că aceasta este pâine și unt pentru hackeri. Faptul că pot vedea fișierele de pe site-ul tău web îi va ajuta să-l atace mai bine. Introduceți următorul cod în fișierul dvs. .htaccess pentru a vă proteja site-ul:

                         # Disable display of directory contents Options All -Indexes

                        De asemenea, este posibil să utilizați acest cod pentru a preveni listarea directoarelor:

                         # Alternative to prevent directory listing IndexIgnore *

                        Ascundeți informațiile serverului

                        La unii furnizori de găzduire, paginile afișate pot conține informații despre server. Aceste informații pot oferi detalii potențialilor atacatori.

                        Prin urmare, cel mai bine este să le ascundeți cu următorul cod:

                         # Hide the information from server ServerSignature Off

                        Activați următoarele linkuri simbolice

                        Trebuie să-ți spun o farsă completă, dar este important să inserezi această linie de cod în fișierul tău principal .htaccess :

                         # Enable following symbolic links Options +FollowSymLinks

                        Acest lucru va permite serverului dumneavoastră să urmeze ceea ce se numesc link-uri simbolice, adică shortcodes.

                        Setați-vă serverul la ora corectă

                        Acest lucru nu este cu adevărat important, dar dacă serverul dvs. este în străinătate, îi puteți spune să seteze fusul dvs. orar cu această linie de cod:

                         # Choose time zone SetEnv TZ America/New_York

                        Setați codificarea implicită a caracterelor

                        Următorul cod vă permite să setați codificarea caracterelor pentru fișierele text și HTML ca UTF-8 (o codificare a caracterelor computerului). Fără aceasta, există riscul ca accentele să fie înțelese greșit.

                         # Default encoding of text and HTML files AddDefaultCharset UTF-8

                        Protejați wp-config.php

                        Fișierul de configurare pentru site-ul dvs. web ( wp-config.php ) conține datele de conectare pentru a vă conecta la baza de date.

                        Acesta este cel mai sensibil fișier de pe site-ul dvs. Poate fi ținta potențialilor hackeri. Poate fi protejat prin adăugarea acestui cod în fișierul principal .htaccess :

                         # Protect the wp-config.php file <files wp-config.php> order allow,deny deny from all </files>

                        Protejați fișierul .htaccess în sine

                        Ca și fișierul wp-config.php , fișierul .htaccess trebuie protejat în cea mai mare măsură. Pentru a face acest lucru, introduceți acest cod:

                         # Protect .htaccess and .htpasswds files <Files ~ "^.*\.([Hh][Tt][AaPp])"> order allow,deny deny from all satisfy all </Files>

                        Limitați spamul în comentarii

                        Știi la fel de bine ca mine dacă ai un blog, spamul în comentarii este o adevărată durere.

                        Din fericire, există un truc pentru a preveni acest lucru direct în fișierul .htaccess . Aceasta nu este o soluție rapidă, dar, în combinație cu pluginul Akismet, majoritatea spam-ului ar trebui filtrată.

                         # Avoid comment spam <IfModule mod_rewrite.c> RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.mywebsite.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] </IfModule>

                        Nu uitați să înlocuiți mywebsite.com cu numele dvs. de domeniu.

                        Alăturați-vă abonaților WPMarmite

                        Obțineți ultimele postări WPMarmite (și, de asemenea, resurse exclusive).

                        ABONEAZĂ-TE ACUM
                        Buletin informativ în engleză WPMarmite

                        Evitați detectarea unui ID de autor

                        Chiar dacă utilizați un utilizator complex de conectare, acesta poate fi detectat.

                        Desigur, presupun că nu îl afișați deja public cu tema dvs. (se poate întâmpla).

                        Încercați să tastați mywebsite.com/?author=x înlocuind x cu 1 pentru administrator sau ID-ul unuia dintre autorii dvs. Dacă nu sunteți protejat, veți fi redirecționat către o pagină precum mywebsite.com/author/author_id .

                        Așa găsești un ID de utilizator în două secunde. De acolo, tot ce rămâne este să încerci să-ți ghicești parola.

                        Pentru a vă proteja de această tehnică, utilizați următorul cod:

                         # Prevent the detection of an author's ID <IfModule mod_rewrite.c> RewriteCond %{QUERY_STRING} ^author=([0-9]*) RewriteRule .* - [F] </IfModule>

                        Dezactivați legătura rapidă a imaginilor dvs

                        Ce naiba este hotlinking-ul? Nu-ți face griji, o să explic totul.

                        Practic, odată ce adăugați imagini pe site-ul dvs. (de exemplu, într-un articol), oricine poate copia adresa URL a uneia dintre imaginile dvs. și o poate afișa pe site-ul său.

                        S-ar putea să credeți că acest lucru nu este atât de rău, dar dacă dintr-un motiv oarecare un site web foarte urmărit preia imaginea dvs. și o afișează pe una dintre paginile sale, se vor face solicitări către serverul dvs.

                        Hotlinking fură de fapt lățimea de bandă . Dacă site-ul dvs. este instalat pe un server partajat mic, gazda dvs. poate să nu-l aprecieze, deoarece resursele sunt limitate.

                        Pentru a evita problema, introduceți și personalizați acest cod în fișierul dvs. .htaccess :

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        Înlocuiți mywebsite.com cu numele dvs. de domeniu

                        Pentru a permite anumitor site-uri web să vă afișeze imaginile, utilizați următorul cod:

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite2.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite3.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        Înlocuiți mywebsite.com, mywebsite2.com și mywebsite3.com cu domeniile dorite

                        De asemenea, puteți personaliza imaginea care va fi afișată în locul imaginii solicitate. Am adăugat ceva simplu, dar poți fi mai creativ.

                        Interziceți adresele IP

                        Dacă ați observat că unele adrese IP încearcă să se autentifice în administrarea site-ului dvs. un pic prea des (de exemplu, cu pluginul Login Lockdown), puteți scăpa de ele interzicând adresa lor IP.

                        Aveți, de asemenea, posibilitatea de a prelua adresele IP ale spammerilor de comentarii pentru a le interzice de pe site-ul dvs.

                        Această soluție nu este permanentă, deoarece atacatorul dvs. poate schimba adresa IP, dar poate funcționa împotriva persoanelor mai puțin calificate.

                         # Ban an IP address <Limit GET POST> order allow,deny deny from xxx.xxx.xxx.xxx allow from all </Limit>
                        Înlocuiți xxx.xxx.xxx.xxx cu adresa IP care urmează să fie interzisă

                        Blocați vizitatorii de pe anumite site-uri web

                        Dacă îți dai seama că un site web neconform s-a conectat la al tău și nu vrei ca vizitatorii acelui site să aibă acces la site-ul tău, folosește acest cod:

                         # Prevent visitors to these sites from accessing yours <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} mywebsite1.com [NC,OR] RewriteCond %{HTTP_REFERER} mywebsite2.com [NC,OR] RewriteRule .* - [F] </ifModule>
                        Înlocuiți site-ul meu1.com și site-ul meu2.com cu site-urile web alese de dvs

                        Redirecționează vizitatorii de la un site la altul

                        Pentru a duce sfatul anterior cu un pas mai departe, puteți redirecționa vizitatorii de pe anumite site-uri web către un alt site.

                        Iată codul de utilizat:

                         # Redirect visitors from one site to another RewriteEngine on RewriteCond %{HTTP_REFERER} sourcewebsite\.com/ RewriteRule ^(.*)$ http://www.destinationwebsite.com [R=301,L]
                        Înlocuiți site-urile sursă și de destinație cu cele alese

                        Creați redirecționări

                        Fișierul .htaccess vă permite să faceți redirecționări (redirecționare URL A către URL B).

                        Acest lucru este la îndemână pentru a redirecționa câteva pagini, dar dacă doriți să creați o mulțime de redirecționări, vă recomand pluginul WordPress Redirection, pe care l-am introdus în acest articol.

                        Cum să creați redirecționări în fișierul .htaccess :

                         # Redirection of any page Redirect 301 /oldpage/ http://www.mywebsite.com/newpage # Redirection of a new category (with renaming from category to topic) Redirect 301 /category/technology/ http://www.mywebsite.com/topic/techno/

                        Adresa de redirecționare fără www la una cu www

                        Când configurați un site web, una dintre acțiunile de realizat mai întâi este redirecționarea site-ului web fără www la versiunea cu www (sau invers).

                        Dacă faceți testul data viitoare când creați un site web, veți descoperi că cele două adrese nu au neapărat linkuri către site-ul dvs.

                        În unele cazuri, compania de găzduire se va ocupa de acest lucru automat, sau trebuie activată prin intermediul paginii de administrare de pe site-ul de găzduire (este cazul Gandi, de exemplu).

                        Dacă trebuie să faceți această redirecționare manual, utilizați următorul cod înlocuind mywebsite.com cu site-ul dvs.:

                         # Redirection of site without www to www RewriteEngine On RewriteCond %{HTTP_HOST} ^mywebsite. com [NC] RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [L,R=301]
                        Înlocuiți mywebsite.com cu numele dvs. de domeniu

                        Redirecționați adresa cu www către una fără www

                        Pe de altă parte, dacă nu doriți ca www în fața numelui site-ului dvs. web (ca și în cazul WPMarmite), este posibil să redirecționați la versiunea fără www .

                        Introduceți următorul cod în fișierul .htaccess :

                        Atenție : Nu utilizați acest cod cu cel anterior sau site-ul dvs. web va suferi o buclă de redirecționare (deoarece versiunea fără www va redirecționa către versiunea cu www care va redirecționa către versiunea fără www , etc.).

                        Redirecționați către HTTPS

                        Dacă ați configurat un certificat SSL pe site-ul dvs. web pentru a-l comuta la HTTPS, trebuie să vă asigurați că toți vizitatorii dvs. navighează în versiunea securizată a site-ului dvs.

                        Dacă nu, informațiile sensibile ar putea fi recuperate de hackeri (date personale sau bancare, de exemplu).

                        Utilizați următorul cod pentru a comuta întregul site la HTTPS:

                         # Redirection to HTTPS RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^(. *)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

                        Forțați descărcarea anumitor fișiere

                        Când doriți să descărcați un fișier de pe un site web, browserul dvs. încearcă uneori să îl deschidă pentru a-l afișa.

                        Personal, consider acest lucru convenabil pentru fișierele PDF. Pe de altă parte, este foarte neplăcut pentru alte tipuri de fișiere.

                        Introduceți următorul cod pentru ca vizitatorii să descarce direct fișiere cu aceste extensii (modificați-le după cum doriți):

                         # Force download for these file types AddType application/octet-stream .doc .docx .xls .xlsx .csv .mp3 .mp4

                        Creați o pagină de întreținere personalizată

                        Într-un articol anterior, ați descoperit o selecție de pluginuri de întreținere. Cu toate acestea, există cazuri în care pagina de întreținere nu va putea fi afișată.

                        E enervant, nu-i așa?

                        Pentru a obține o pagină de întreținere, puteți utiliza următorul cod:

                         # Maintenance page RewriteEngine on RewriteCond %{REQUEST_URI} ! /maintenance.html$ RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx RewriteRule $ /maintenance.html [R=302,L]

                        Pentru ca acest lucru să funcționeze, trebuie să:

                        • Creați un fișier maintenance.html cu conținut care indică faptul că site-ul web este în întreținere.
                        • Adăugați adresa dumneavoastră IP în rândul 4 (asigurându-vă că păstrați „ \ “) pentru a vă permite să accesați site-ul web (aflați adresa dumneavoastră IP pe acest site).

                        Când întreținerea este finalizată, puneți „ # ” în fața fiecărei rânduri pentru a le transmite ca comentariu.

                        Activați stocarea în cache

                        Fișierul .htaccess vă permite să stocați în cache anumite fișiere de pe site-ul dvs. în browserul vizitatorului, astfel încât acestea să se încarce mai repede.

                        Într-adevăr, browserul nu va trebui să descarce din nou fișierele din memoria cache.

                        Pentru a face acest lucru, introduceți următorul cod:

                         # Caching of files in the browser <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 month" ExpiresByType text/html "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/pdf "access plus 0 seconds" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType application/x-font-woff2 "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/webm "access plus 1 month" ExpiresByType text/css "access plus 6 month" ExpiresByType application/javascript "access plus 6 month" ExpiresByType application/x-shockwave-flash "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" </IfModule> # Headers Header unset ETag FileETag None <ifModule mod_headers.c> <filesMatch "\.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(css)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(js)$"> Header set Cache-Control "private" </filesMatch> <filesMatch "\.(x?html?|php)$"> Header set Cache-Control "private, must-revalidate" </filesMatch> </ifModule>

                        Memorarea în cache a fișierelor va fi efectivă pe durata specificată pentru fiecare tip de fișier sau până când vizitatorul își șterge memoria cache.

                        Pentru a vă accelera site-ul web cu memorarea în cache, vă recomand să utilizați pluginul premium WP Rocket (link afiliat). Deoarece este simplu și rapid de configurat, este perfect pentru începătorii pe WordPress. Cu ajutorul acestuia, nu va trebui să utilizați fragmentul (piesa de cod) oferită mai sus.

                        Accelerează-ți site-ul web cu WP Rocket

                        Transformă-ți site-ul într-o rachetă cu cel mai puternic plugin de cache recunoscut de experții WordPress.
                        Încercați WP Rocket
                        Logo WP Rocket

                        Activați compresia

                        Pe lângă tot ceea ce am văzut până acum, este posibil să comprimam unele resurse înainte ca acestea să fie transferate de pe server în browser.

                        Iar compresia fișierelor înseamnă o viteză mai rapidă de încărcare a paginii. Așa că vă recomand să implementați acest cod pentru a oferi site-ului dvs. un plus de viteză:

                         # Compression of static files <IfModule mod_deflate. c> AddOutputFilterByType DEFLATE text/xhtml text/html text/plain text/xml text/javascript application/x- javascript text/css BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\. 0 [678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \. (?:gif|jpe?g|png)$ no-gzip dont-vary Header append Vary User-Agent env=! dont- vary </IfModule> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/json

                        Dezactivați accesul la anumite scripturi

                        Pentru a funcționa, WordPress folosește scripturi situate în directorul wp-includes . Cu toate acestea, nu există niciun motiv pentru a le accesa direct. Utilizați acest cod pentru a limita accesul:

                         # Block the use of certain scripts RewriteEngine On RewriteBase / RewriteRule ^wp- admin/includes/ - [F,L] RewriteRule ! ^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/. +\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L]

                        Protecție împotriva injecțiilor de fișiere

                        Hackerii pot încerca să trimită fișiere către serverul dvs. pentru a prelua controlul asupra site-ului dvs. Pentru a arunca o cheie în calea lor, puteți include acest cod în fișierul dvs. .htaccess :

                         # Protection against file injections RewriteCond %{REQUEST_METHOD} GET RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC] RewriteRule .* - [F]

                        Protecție împotriva altor amenințări

                        Pe Facebook, Richard mi-a spus că este posibil să mă protejez împotriva clickjacking-ului și a altor amenințări adăugând câteva rânduri în fișierul .htaccess .

                        Pentru informarea dumneavoastră, clickjacking-ul este o tehnică care îl ajută să-l facă pe vizitator să creadă că se află pe site-ul dvs., atunci când nu sunt, folosind etichete frame sau iframe .

                        Prin urmare, următorul cod vă ajută să vă protejați de clickjacking, luptă împotriva altor amenințări precum MIME Sniffing și blochează conținutul în cazul unui atac XSS (care va injecta HTML sau JavaScript în variabilele prost protejate).

                         # Various protections (XSS, clickjacking and MIME-Type sniffing) <ifModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" Header always append X-Frame-Options SAMEORIGIN Header set X-Content-Type-Options: "nosniff” </ifModule>

                        Și gata, tocmai ați trecut printr-o grămadă de optimizări pentru a le încorpora în fișierul .htaccess aflat la rădăcina site-ului.

                        Să mergem mai departe: noi bucăți de cod pentru folderele wp-admin , wp-icludes , wp-content și wp-content/uploads .

                        Cum să personalizați fișierul .htaccess în wp-admin

                        wp-admin este bârlogul site-ului dvs. Locul unde mergi pentru a scrie articole, a-ți configura meniurile, a-ți configura tema și multe altele.

                        Este de la sine înțeles că nicio persoană neautorizată nu ar trebui să intre în acest paradis. În caz contrar, atenție la consecințe.

                        Iată ce puteți face pentru a întări securitatea cu un fișier .htaccess pe care îl plasați în folderul wp-admin al site-ului dvs. web.

                        Limitați accesul la administrarea site-ului web

                        Doar persoanele cu IP-urile enumerate vor putea accesa folderul wp-admin . Destul de util pentru a preveni străinii să se conecteze la site-ul dvs. (chiar dacă au parola corectă).

                         <Limit GET POST PUT> order deny,allow deny from all # Alex's IP allow from xxx.xxx.xxx.xxx # Nico's IP allow from xxx.xxx.xxx.xxx # IP of another access point allow from xxx.xxx.xxx.xxx </Limit>

                        Adăugați oa doua autentificare

                        Când vă conectați la administratorul unui site web WordPress, utilizați o autentificare și o parolă. Ei bine, este posibil să adăugați un al doilea prin fișierul .htaccess și un alt fișier.

                        Mai întâi, creați un fișier numit .htpasswd în directorul wp-admin și introduceți o pereche de nume de utilizator și parolă în el. Utilizați acest site pentru a vă ghida:

                        Interfața instrumentului HTPasswd Generator.

                        Introduceți numele de utilizator pe care doriți să îl utilizați în primul câmp și parola dvs. în al doilea, apoi faceți clic pe „Generează fișierul .htpasswd ”.

                        Apoi copiați linia care va apărea în fișierul .htpasswd . Dacă trebuie să creați mai mulți utilizatori, repetați procesul și adăugați noua pereche nume de utilizator/parolă într-o nouă linie.

                        De exemplu, puteți obține acest tip de fișier:

                         alex:ieS547B1UxY8M jack:rSqEJf0SeTlRs
                        Conținut fals al unui fișier .htpasswd

                        Apoi, introduceți următorul cod în fișierul .htaccess :

                         # Second authentication for administration <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> AuthName "Login to the administration" AuthType Basic AuthUserFile "/full/path/to/the/file/.htpasswd" Require valid-user

                        Partea dificilă a acestei operațiuni este obținerea corectă a căii complete către fișierul .htpasswd . Pentru a-l găsi cu siguranță, creați un fișier info.php și introduceți următorul cod:

                         <?php echo "Path to copy: " . realpath('.htaccess'); ?>
                        Plasați fișierul info.php în wp-admin

                        Accesați site-ul dvs. yourwebsite.com/wp-admin/info.php și veți obține calea reală a fișierului .htpasswd care urmează să fie plasată în fișierul .htaccess . Ștergeți fișierul info.php odată ce obțineți calea corectă.

                        Dacă introduceți acest cod așa cum este, solicitările AJAX nu vor mai funcționa. Utilizați fragmentul de mai jos pentru a remedia problema :

                         AuthType Basic AuthName "Protected page" AuthUserFile /home/.htpasswd Require valid-user <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> <Files admin-post.php> Order allow,deny Allow from all Satisfy any </Files> <Files "\.(css|gif|png|js)$"> Order allow,deny Allow from all Satisfy any </Files>
                        Plasați fișierul info.php în wp-admin

                        Dacă ați înțeles tot ce am menționat, ar trebui să aveți o autentificare dublă pentru a accesa administrarea WordPress.

                        Să trecem la următoarea parte.

                        Cum să personalizezi fișierul .htaccess în wp-includes?

                        Blocați accesul direct la fișierele PHP

                        Creați un fișier .htaccess în wp-includes și inserați următorul cod în el pentru a preveni încărcarea directă a fișierelor PHP.

                         # Blocks direct access to PHP files (Thanks to Sucuri) <Files wp-tinymce.php> allow from all </Files> <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch> <Files wp-tinymce.php> Allow from all </Files> <Files ms-files.php> Allow from all </Files>

                        Codul de mai sus este furnizat de pluginul Sucuri.

                        Cum să personalizezi fișierul .htaccess în wp-content?

                        Blocați accesul direct la fișierele PHP

                        Pentru folderul wp-content , codul este similar, doar excepțiile sunt eliminate:

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch>

                        Cum să personalizezi fișierul .htaccess în wp-content/uploads?

                        Blocați accesul direct la fișierele PHP

                        Cu același cod, protejați folderul în care este stocat media pentru a împiedica fișierele PHP să fie executate de cineva din exterior (un hacker urât, de exemplu).

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\. (?i:php)$"> <IfModule ! mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core. c> Require all denied </IfModule> </FilesMatch>

                        Recapitulare finală a fișierului .htacess din WordPress

                        După cum ați descoperit în acest ghid, fișierul .htaccess este un instrument foarte puternic pentru configurarea serverului site-ului dvs.

                        Când este manipulat cu grijă și precauție, poate îmbunătăți securitatea site-ului dvs., performanța, SEO sau chiar experiența utilizatorului.

                        Fișierul #htaccess al site-ului tău #WordPress este un instrument puternic. Aflați cum funcționează și configurați-l ca un bucătar cu sfaturile WPMarmite.

                        Faceți clic pentru a trimite pe Tweet

                        Încă o dată, vă recomand să păstrați întotdeauna o copie de rezervă a fișierului original .htaccess pentru a efectua o resetare în cazul în care există probleme.

                        Continuați cu modificările dumneavoastră cu grijă extremă (te-am avertizat!). Pot apărea erori sau incompatibilități în funcție de gazda site-ului dvs.

                        Deși s-a tratat destul de mult în acest articol, este posibil să mergeți mai departe în configurarea .htaccess , folosind diverse resurse:

                        • Documentația WordPress și documentația Apache (software-ul care rulează serverul dvs.).
                        • Blogul Perishable Press, care are chiar și o carte plătită pe această temă.

                        Înainte de a-mi lua rămas bun, aș dori să primesc părerile voastre în comentarii. Ți-ai personalizat fișierul .htaccess ?

                        Și, cel mai important, nu ezitați să distribuiți orice fragment de cod pe care sunteți obișnuit să le utilizați altor cititori.