Webmaster cum să vă creați site-ul

Modul mod_rewrite. Partea 1

Modulul mod_rewrite este modulul de program pentru serverul web Apache (rețineți că acesta nu va fi rulat sub alte servere web!). Funcția sa principală este manipularea acțiunilor cu adresa URL. Modulul este foarte versatil și versatil, așa că voi încerca să arăt aici multe exemple reale.







Mod_rewrite este un modul excelent care oferă un "mecanism bazat pe reguli pentru modificarea dinamică a adreselor URL solicitate". Acesta este un instrument foarte puternic și, prin urmare, cunoștințele sale sunt fundamental importante dacă doriți să deveniți un adevărat web master sau programator web. Nu atât de mult în principiu, indiferent dacă o veți folosi în munca dvs., cât de important este că știți ce poate face și puteți să-i spuneți șefului dvs. despre asta atunci când există dorința de a face ceva ciudat cu serverul web.

Cu toate acestea, trebuie să fiți foarte atenți și chiar meticuloși când lucrați cu acest modul! Unele erori pe care le puteți tolera pot duce la o buclă logică, determinând o încărcare neîntreruptă de 100% a procesorului (CPU).

Pentru a nu părea lungi în raționament, voi da câteva exemple foarte simple.

Înainte de a putea începe, va trebui să verificați dacă modulul este instalat pe serverul dvs. web sau nu.

Există mai multe modalități de a verifica acest lucru:

  1. Adresați-vă administratorului de sistem - cunoaște (sau ea) despre prezența acestui modul pe serverul web. Trebuie să știe cu adevărat, dar, după cum arată practica, nu există, de asemenea, sysadmins foarte informați.
    Nu vă tulpinați pe ceilalți: dacă folosiți serverul dvs. web cu sute de alte domenii, acțiunile dvs. pot să trezească câini de dormit, deoarece utilizarea mod_rewrite va duce întotdeauna la o încărcare crescută a procesorului.
  2. Verificați fișierul de configurare Apache (httpd.conf), dacă aveți acces la el. O posibilă cale standard ar putea fi: /etc/httpd/httpd.conf Cu toate acestea, calea dvs. poate fi diferită de aceasta.
  3. Verificați funcționarea serverului dvs. cu exemplele de mai jos. Dacă serverul rulează fără erori - mod_rewrite este într-adevăr instalat pe sistemul dvs. Dacă nu, veți primi următorul mesaj când solicitați o pagină web de pe server: "Eroare internă de server"






De asemenea, veți vedea această intrare în fișierul error.log:
"Comanda nevalidă" RewriteEngine ", probabil scrisă greșit sau definită de un modul care nu este inclus în configurația serverului."

Acum să săpăm mai adânc și să vedem primul exemplu practic.

Să presupunem că veți folosi mod_rewrite numai pentru site-ul dvs., adică nu ca o instalare generalizată a unui server încrucișat.

Pentru exemplul nostru, va trebui să utilizați fișierul .htaccess.

fișier .htaccess

Pentru a utiliza această metodă, trebuie să descărcați un fișier numit .htaccess (vă rugăm să fiți atenți la punctul de la începutul numelui fișierului!) În directorul de server cu care veți lucra. Acest lucru se poate face prin telnet sau ftp. (Atenție: htaccess trebuie încărcat în modul "ASCII", care nu este în modul binar!)

Dacă aveți deja un fișier .htaccess. de exemplu cu următoarele intrări:

Primele două intrări vor porni modulul însuși:

Dacă administratorul de sistem vă interzice să utilizați Opțiuni + FollowSymlinks. Nu veți putea restricționa utilizarea mod_rewrite în directoare individuale, în schimb modificările vor fi aplicate întregului server.

Următoarea intrare necesară este:

Și acum, domnilor, să mergem la înregistrări mai interesante!

Pentru a bloca acest acces, scrieți următoarele:

Această regulă se traduce astfel:

Dacă cineva încearcă să acceseze fișierul .htaccess. sistemul trebuie să producă codul de eroare "Răspuns HTTP de 403" sau "403 Interzis - Nu aveți permisiunea de a accesa /.htaccess pe acest server".

Construcția .htaccess $ în această expresie regulată înseamnă:

  • ^ - ancora de început
  • $ Este capătul de ancorare a liniei
  • . - în expresii regulate punctul "." Acesta denumește un meta-simbol și trebuie protejat printr-un backslash dacă doriți să utilizați în continuare punctul real.

Numele fișierului trebuie să fie exact între ancorele de început și de sfârșit. Acest lucru va asigura că numai acest nume de fișier și altul nu vor genera un cod de eroare.

  • [F] - un steag special "interzis" (interzis).

În acest exemplu, fișierul .htaccess va consta din următoarele linii:

Dacă adăugăm codul nostru (în exemple) la fișierul .htaccess existent, obținem următoarea construcție:

Această introducere acoperă numai elementele de bază necesare pentru a lucra cu modulul mod_rewrite. În cea de-a doua parte a acestei serii de articole de instruire, voi încerca să explic folosirea diferitelor condiții în configurația modulului.







Articole similare

Trimiteți-le prietenilor: