Kako napraviti “lijepe” URL-ove?

Kako kao svojevrstan fuš imam nekoliko web-stranica u održavanju (služe kao odlična podloga za vježbanje HTML-a, CSS-a, PHP-a i MySQL-a), dobio sam upit mogu li nekako napraviti lijepe linkove (URL-ove), odnosno izbjeći

http://www.nesto.hr/ostalo/index.php?name=john&?field=personal

i probati to napraviti kao

http://www.nesto.hr/ostalo/john/personal ili http://www.nesto.hr/ostalo/john/personal/

Rudimentarno rješenje jest primjenjivo samo za statičke stranice – naprave se poddirektoriji u root-u stranice i to je to. Za dinamičke stranice je to praktično loše rješenje i u tom slučaju treba koristiti mod_rewrite mogućnost koju ima Apache HTTP server.

Glavni je stvar kreiranje .htaccess datoteke (u najobičnijem Notepad-u) i njen upload u željeni direktorij na serveru na kojem se nalazi stranica.  U toj se datoteci daje set pravila serveru za procesiranje upisanog linka, npr.:

RewriteEngine On

RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ index.php?name=$1&field=$2 [NC] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/$ index.php?name=$1&field=$2 [NC]

U gornjem kodu mogu se nazrijeti dvije varijable – prva je name, a druga je field. Pravilo kaže da sve upisano u formi www.nesto.hr/john/personal ili www.nesto.hr/john/personal/ otvara stranicu www.nesto.hr/index.php?name=john&field=personal. Dakle, na neki način napravljen je alias adrese. U ovom slučaju .htaccess bio bi smješten u root direktoriju www.nesto.hr, no može ga se smjestiti u bilo koji od direktorija; tada će Apache voditi sve do index.php kao konstantu. Istu tehniku koristi i WordPress, naravno, na jednoj malo višoj razini nego ovdje opisanoj.

Ovo je više-manje simbolički opis i nisam previše ulazio u tehniku izrade .htaccess dokumenta. Ima i više nego dovoljno stranica gdje je sve objašnjeno natanane:

URL rewriting for beginners – sjajna stranica, možda i najbolje objašnjenje
mod_rewrite cheat sheet -šalabahter u PDF-u
URL rewriting guide – dokumentacija od Apache-a

Ostale linkove može se naći guglanjem create clean URL ili create clean links itd.

VN:F [1.9.1_1087]
Rating: 0.0/7 (0 votes cast)

Related posts:

  1. EURO 2008 – službena stranica
  2. Nova stranica ZET-a