Senai, kai net nežinojau, kad egzistuoja toks dalykas kaip PHP, mane gąsdino tokie adresai, kaip www.gamepad.lt/index.php?puslapis=pamokos&kategorija=htaccess .
Vartotojas patekęs į svetainę jaučiasi labai nemaloniai, kai pamato tokį adresą, atrodo, nepatikimas puslapis. Taip pat toks adresas dažnai rėžia akį. Tai kaip padaryti, jog adresas butų kaip www.gamepad.lt/pamokos/htaccess/ ?
Tai yra įmanoma su HTACCESS failu. Tiesiog sukurk naują failą, įterpk žemiau pateiktą kodą ir pervadink failą į .htaccess*
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([A-Za-z0-9]+)/([A-Za-z0-9]+)/$ /index.php?puslapis=$1&kategorija=$2
RewriteRule ^([A-Za-z0-9]+)/([A-Za-z0-9]+)$ /index.php?puslapis=$1&kategorija=$2
Dešinėje pusėje yra jūsų failas su nurodytomis GET funkcijomis.
$1 ir $2 – parodo, jog čia yra pirmasis ir antrasis elementai kurie keičiasi, t.y. gali būti index.php?puslapis=pamokos&kategorija=htaccess arba index.php?puslapis=forumas&kategorija=plepam ir t.t. perrašys adresus į pamokos/htaccess arba forumas/plepam ir t.t.
([A-Za-z0-9]+)/([A-Za-z0-9]+) ir ([A-Za-z0-9]+)/([A-Za-z0-9]+)/ – matai pakrypusius brūkšnius? Įsivaizduok jog tarp tų pakrypusių brūkšniu yra tie $1 ir $2, t.y. $1/$2/. Čia parašytas adresų perrašimo kodas. A-Z, a-z ir 0-9 parodo, jog čia gali būti ir raidės (didžiosios ir mažosios) ir skaičiai. Po laužtinių skliaustų padėtas pliusas reiškia, jog čia gali būti bet kiek simbolių, jei nebūtų pliuso, tada užskaitytų tik viena simbolį iš viso žodžio ar skaičių kombinacijos.
Dabar kodėl vienas iš perrašymo funkcijų kodas baigiasi pakreiptu brūkšniu, o kitas be jo? Tai yra reikalinga, jei nori, kad adresas būtu perrašomas ir pasiekiamas ne tik kaip pamokos/htaccess, bet ir pamokos/htaccess/.
* Ne htaccess.php, ne htaccess.html, ne htaccess.txt o tiesiog .htaccess
Jei kilo neaiškumų, neveikia ar matai kokią nors klaidą, parašyk komentarą šiam įrašui.