Što je mod_rewrite
mod_rewrite modul koristi mehanizam prepisivanja temeljen na pravilima i PCRE parser regularnih izraza kako bi preuredio tražene URL-ove. Prema zadanim postavkama, mod_rewrite mapira URL prema putanji u datotečnom sustavu. Međutim, može se koristiti i za preusmjeravanje jednog URL-a na drugi ili za interno proxy prosljeđivanje.
mod_rewrite pruža fleksibilan i moćan način manipulacije URL-ovima s praktički neograničenim brojem pravila. Svako pravilo može imati neograničen broj uvjeta, što omogućuje prepisivanje URL-ova na temelju varijabli poslužitelja, okruženja, HTTP zaglavlja ili vremenskih oznaka.
mod_rewrite radi nad cijelom URL putanjom, uključujući i path-info dio. Pravila prepisivanja mogu se pozivati iz httpd.conf ili .htaccess datoteka. Putanja generirana pravilom može uključivati dodatne upite, interno podprocesiranje, vanjsko preusmjeravanje zahtjeva ili interno proxy prosljeđivanje.
Postavljanje mod_rewrite modula
Omogućite mod_rewrite:
sudo a2enmod rewrite
sudo systemctl restart apache2
Konfigurirajte prepoznavanje pravila iz .htaccess datoteke:
sudo nano /etc/apache2/sites-available/000-default.conf
U ovoj datoteci pronaći ćete blok koji počinje s <VirtualHost *:80>. Unutar tog bloka dodajte sljedeći novi blok tako da konfiguracija izgleda ovako:
<VirtualHost *:80>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
. . .
</VirtualHost>
Kako biste omogućili nova pravila, potrebno je ponovno pokrenuti Apache server:
sudo systemctl restart apache2
Nakon toga možete dodavati rewrite pravila u .htaccess datoteku koja se najčešće nalazi u root direktoriju web aplikacije.
Povezana područja
Savjetodavna područja vezana uz ovu temu
Ova su područja rada usklađena s temom članka i daju čišći prijelaz od edukativnog sadržaja do konkretne implementacije.
Nastavite čitati
Povezani članci
Prvo po zajedničkim kategorijama, a zatim po najjačem preklapanju u tagovima.