GoranStimac.com



Kako omogućiti mod_rewrite u Apache poslužitelju na Ubuntu/Debian Linux sustavima

Što je mod_rewrite

Mod_rewrite modul koristi mehanizam prepisivanja zasnovan na pravilima i redoviti PCRE parser za preuređivanje traženih URL-ova na zahtjev. Prema zadanim postavkama mod_rewrite preslikava URL na stazu datotečnog sustava. Međutim, također se može koristiti za preusmjeravanje jednog URL-a na drugi URL ili za pozivanje internog upozorenja proxyja.

mod_rewrite pruža fleksibilan i moćan način manipulacije URL-ovima s neograničenim brojem pravila. Svako pravilo može imati neograničen broj uvjeta, vezanih pravila, što vam omogućuje da prepisujete URL-ove na temelju poslužiteljskih varijabli, varijabli okoline, HTTP zaglavlja ili vremenskih oznaka.

mod_rewrite radi na punoj URL stazi, uključujući odjeljak s informacijama o putu. Pravilo prepisivanja može se pozvati u httpd.conf ili u .htaccess datotekama. Put generiran pravilom prepisivanja može uključivati niz upita ili može dovesti do internog procesiranja, vanjskog preusmjeravanja zahtjeva ili unutarnjeg protoka proxyja.

Postavite mod_rewrite

Omogući mod_rewrite:

sudo a2enmod rewrite
sudo systemctl restart apache2

Konfigurirajte prepoznavanje pravila iz datoteke .htaccess

sudo nano /etc/apache2/sites-available/000-default.conf

Unutar ove datoteke pronaći ćete blok koji započinje s <VirtualHost *: 80>. Unutar ovog bloka dodajte sljedeći novi blok tako da konfiguracijska datoteka izgleda ovako:

<VirtualHost *:80>
   <Directory /var/www/html>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Require all granted
   </Directory>
. . .
</VirtualHost>

Da bismo omogućili nova pravila, moramo ponovno pokrenuti Apache poslužitelj

sudo systemctl restart apache2

Sada možete dodati pravila prepisivanja u datoteku .htaccess koja se najčešće nalazi u korijenskom direktoriju web-aplikacije.

Povezane objave