Cum se configurează Mod_Rewrite

click fraud protection

Apache serverul web este unul dintre principalele elemente de bază ale Internetului, care servește site-uri web și aplicații. Este un sistem complex, cu multe opțiuni, iar una dintre cele mai importante este modulul Rewrite, sau „mod_rewrite” pe scurt. În acest articol, vom arunca o privire asupra utilizărilor pentru mod_rewrite, apoi vom explora cum să îl configurați pe propriul site bazat pe Apache.

Scopul modulului Apache Rewrite

Scopul acestui modul este rescrierea adreselor URL în diferite moduri utile. Aceasta înseamnă că, atunci când utilizatorii ajung la site-ul dvs. web printr-o adresă URL (fie tastând-o, fie selectând un link care o conține), vor „ajunge” pe o altă adresă URL. Există mai multe motive pentru care ați putea dori să faceți acest lucru.

Redirecționarea utilizatorilor

Puteți utiliza mod_rewrite pentru a direcționa utilizatorii de la pagini mai vechi, învechite, care pot apărea în continuare în rezultatele căutării, către pagini mai noi, actualizate. De exemplu, să presupunem că aveți o pagină la https://www.mysite.com/review2015; dacă cineva întâlnește acest lucru ca link și îl selectează, puteți folosi o regulă de rescriere pentru a-l direcționa http://www.mysite.com/review2019.

instagram viewer

Adresa URL mai ușor de reținut

Probabil că ați văzut linkuri legate de comerțul electronic cu adrese URL precum https://www.thestore.net/3d78654954c29ace998658. Dezvoltatorii folosesc etichete de acest fel pentru a se asigura că articolele au un identificator unic, dar pentru tipurile non-tehnice este greu de reținut.

Din fericire, o regulă de re-scriere vă poate ajuta să faceți publicitate unei adrese URL frumoase, cum ar fi https://www.thestore.net/notebooks/spiral/3-subject-spiral/, care, atunci când este urmat, conduce un vizitator la cel cu adresa URL urâtă.

Numele de pagină unice

În primele zile ale webului, era obișnuit să vezi numele real al fișierelor de pagină atunci când vizitai un site web. De exemplu, pagina „Despre noi” a unui site web poate fi „ http://www.someguys.org/about.html."

Dar există câteva motive pentru care nu mai vedeți aceste lucruri. Primul este că multe site-uri web sunt administrate de sisteme de gestionare a conținutului, care au doar o mână de fișiere de pagină reale. Restul conținutului este adăugat dinamic pe măsură ce pagina este difuzată, astfel încât toate paginile ar putea părea că au aceeași adresă URL, cum ar fi „ http://www.someguys.org/index.php." Rescrierea adreselor URL vă permite să aveți aspectul acestor pagini separate, în timp ce utilizați în continuare un CMS dinamic pentru a vă gestiona site-ul web.

Adrese URL mai ușor de înțeles

Motoarele de căutare clasează paginile mai sus atunci când au adrese URL ușor de înțeles. Aceasta înseamnă că este benefic pentru site-urile web să aibă o adresă URL de genul „ https://www.thecompany.com/services/consulting" in loc de " https://www.thecompany.com/index.php? section = services & page = consulting ", deoarece ultima parte arată mai mult ca un cod decât o adresă URL.

Rescrierea vă asigură că vă prezentați întotdeauna cea mai bună față, din perspectiva URL-ului.

Cum să configurați mod_rewrite pe site-ul dvs.

Utilizarea rescrierii adreselor URL pe Apache necesită două componente principale:

  • Activarea modulului real de rescriere din Apache
  • Listarea regulilor de rescriere necesare într-un fișier .htaccess.

În timp ce utilizările pentru rescrierea adreselor URL se aplică în mod egal și altor servere web precum IIS sau nginx, mod_rewrite și metodele de mai jos se vor aplica numai pentru Apache.

Activați funcția de rescriere în Apache

Mai întâi, va trebui să activați funcția de rescriere în instalarea dvs. Apache.

  1. Va trebui să găsiți unde se află fișierul de configurare al Apache. Acest lucru va depinde de programul de instalare pe care l-ați folosit.

    • Pe Windows ar trebui să căutați un director numit „/ conf” în directorul de instalare Apache.
    • Pe popularul program de instalare XAMPP de la macOS, acesta se află în / Applications / XAMPP / xamppfiles / apache2 / conf.
    • Pe Linux, acesta va apărea în directorul / etc / apache2. În orice caz, căutați un fișier numit „httpd.conf”, „http.conf” sau „apache2.conf”, astfel încât să puteți utiliza și funcția de căutare a sistemului dvs. de operare pentru a le căuta.
  2. Deschideți fișierul de configurare într-un editor de text, cum ar fi Notepad-ul Windows sau TextEdit pe macOS.

  3. Căutați linia „#LoadModule rewrite_module modules / mod_rewrite.so” și eliminați hashtag-ul la început. Aceasta denotă un comentariu, ceea ce înseamnă că atunci când este acolo, serverul Apache va ignora tot ce se află pe acea linie. Eliminați hashtag-ul și data viitoare Apache va executa acea linie când va porni.

  4. Salvați fișierul de configurare și reporniți serverul Apache.

  5. Alternativ, în unele versiuni de Linux veți vedea câteva directoare precum „/ etc / apache2 / mods-available” și „/ etc / apache2 / mods-enabled”. Acestea conțin biți de fișiere de configurare care sunt puse împreună dinamic. În acest caz, puteți rula următoarele comenzi pentru a activa mai întâi modulul de rescriere, apoi reporniți serverul Apache:

    sudo a2enmod rewrite
    systemctl reporniți apache2
  6. Acum serverul dvs. Apache este gata să rescrie URL-uri pentru dvs. Abia acum trebuie să îi spui care să rescrie și în ce circumstanțe.

Definirea regulilor Mod_Rewrite pe site-ul dvs.

Va trebui să definiți regulile pentru mod_rewrite folosind limbajul expresiei regulate. Din fericire, există un ajutor disponibil. Pentru o rescriere dată pe care doriți să o activați, puteți utiliza un instrument precum generatorul de reguli VisioSpark.

  1. Introduceți adresa URL din care doriți să rescrieți, adică cea pe care o va introduce un utilizator, în Din: camp.

  2. Introduceți adresa URL pe care doriți să o rescrieți, adică cea în care va ajunge utilizatorul, în La: camp.

    Generatorii de reguli de rescriere GUI vă pot salva efortul de învățare RegEx
  3. Selectați controlul Captcha, apoi selectați Merge. Generatorul ar trebui să furnizeze un rezultat începând cu „RewriteRule.

    Dacă se întâmplă să găsiți un alt generator, acești pași ar putea fi ușor diferiți, dar, sperăm, în același stadion.

Introducerea regulilor Mod_Rewrite pentru site-ul dvs.

Deci, acesta este minunat, un mod de a indica aceste reguli. Dar unde le pui?

Pentru a utiliza regulile pe un site web, va trebui să creați un fișier numit „.htaccess” în rădăcina site-ului web. Este oarecum dependent de platformă, unde sunt stocate fișierele pentru un anumit site web, dar va trebui să vă fi dat seama că pentru a implementa site-ul dvs. web în primul rând.

Este posibil să existe deja un fișier cu acel nume. Dacă da, grozav! Puteți pur și simplu să adăugați liniile la acel fișier.

  1. Creați un fișier text nou cu numele „.htaccess"în rădăcina site-ului dvs. web.

  2. În prima linie, introduceți codul de mai jos. Aceasta îi spune serverului că doriți să activați rescrierea pentru site-ul web curent.

    RewriteEngine on
  3. Apoi, adăugați fiecare dintre liniile pe care le-ați creat cu generatorul. Începutul fișierului nostru ar arăta astfel:

    RewriteEngine on
    RewriteRule ^ notebooks / spiral / 3-subject-spiral / $ / 3d78654954c29ace998658? &% {QUERY_STRING}
  4. Ca și în cazul oricărei modificări de configurație Apache, este o idee bună să reporniți serverul.

Utilizarea Mod_Rewrite necesită timp, dar rezultatele merită

Folosirea funcției mod_rewrite pe Apache necesită cu siguranță un efort. Trebuie să vă lăsați cu fișiere de configurare bazate pe text, să vă dați seama o modalitate de a obține expresii regulate foarte șubrede în acele fișiere și să știți cum să opriți manual și să reporniți serviciul. Probabil va necesita o mulțime de încercări și erori înainte de a obține ceva care nu are ca rezultat o eroare și să se comporte corect.

Acestea fiind spuse, odată ce îl veți obține, veți obține un mare beneficiu de la mod_rewrite. Vizitatorii dvs. vor putea să-și amintească mai bine adresele URL, iar clasamentul dvs. pe Google se va îmbunătăți probabil. „Adresele URL frumoase” rezultate nu sunt doar pentru afișare, la urma urmei. Și ele sunt funcționale.

instagram story viewer