Ce este cpu (sef)

Avantajele pentru vizitator sunt evidente:

Pentru serverul web Apache există un modul mod_rewrite puternic, care este inclus în distribuția standard. Are multe posibilități de interpretare a adresei URL înainte de a procesa modulul necesar.

În cele mai multe cazuri, fișierul .htaccess specifică un format de adresă URL utilizând o expresie regulată, care trebuie tratată ca o adresă URL diferită. De exemplu:
RewriteEngine pe
Articolul RewriteRule / (d +) /? article.php? id = $ 1 [L]

Prima linie include mod_rewrite. Cel de-al doilea specifică faptul că atunci când solicită o adresă URL ca / ​​article / 450 /, serverul web ar trebui să se refere la /article.php?id=450.

Procesați URL-ul în propriul script

Dezvoltatorul poate procesa manual adresa URL și poate apela o funcție pe baza acesteia. Pentru aceasta, cel mai adesea, trebuie să utilizați mod_rewrite pentru a trimite toate solicitările unui script pentru procesare. Pentru aceasta, adăugați următorul conținut în fișierul .htaccess:

RewriteEngine pe
RewriteCond%! -f
RewriteCond%! -d
RewriteRule ^ (. *) $ Index.php [L, QSA]

script index.php va trebui să ia adresa URL a REQUEST_URI variabilă (în PHP de la [ „REQUEST_URI“] de $ _SERVER), și pe baza unor setări necesare pentru a rula cod.

Cele mai multe seturi de instrumente pentru crearea site-ului, cum ar fi Django sau Ruby on Rails, serverul web nu se referă în mod direct la script-ul prin intermediul URL-ul (Dacă, de exemplu, în PHP pură), dar într-un setările de fișier special specifica de conectare pentru o metodă pentru a afișa pagina cu modelul de URL .

Sarcina modelului de adrese URL utilizează fie expresii regulate, fie o limbă specială.

De exemplu, în RubyOnRails:
ActionController :: Routing :: Routes.draw do | map
map.connect "utilizatori". controler => 'utilizator'. action => 'list'
map.connect 'users /: id'. controler => 'utilizator'. acțiune => 'arată'
capăt

În unele instrumente web (de exemplu, Ramaze sau Merb, scris în Ruby), relația dintre URL și metoda de clasă este determinată de numele și numărul de argumente ale metodei.