Pekné url adresy s rewrite a htaccess s príkladom
- O tom ako spojazdniť htaccess v mode rewrite pre pekné url adresy písať nebudem,na nete je toho strašne veľa, ale čo mi tu chýbalo bolo presne vysvetlenie toho čo Vám napíšem.
Predpokladajme ,že to máte už zpojazdnené.
Príklad .htaccess
RewriteEngine on
RewriteRule ^sponzor/ sponzor.php?page=sponzor [L]
Na localhoste som nepoužil:
RewriteBase /cesta k suborom/
Ale na webe áno.
sponzor.php (html,htm)
odkaz v súbore bude vyzerať takto:
<a href="/sponzor/">Odkaz</a>
na webe to bude http://www.vasweb.sk/sponzor
namiesto http:/www.vasweb.sk/sponzor.php
Je dobré použiť aj base href
<BASE HREF="http://www.vasweb.sk/">
Hneď po title tagu.
Pred cesty k obrazkom ,css a js v dokumente ( php, html,htm ) je potrebné opatriť lomítkom /
v .htaccess bude potrebné doplniť
RewriteCond %{REQUEST_URI} !^\/images\/.*$ //cesta k obrázkom
RewriteCond %{REQUEST_URI} !^\/css\/.*$ //cesta k css
RewriteCond %{REQUEST_URI} !^\/js\/.*$ //cesta k js
Ak chcete aby sa spätné lomítko v url adrese doplnilo samo, pridajte do htaccess toto:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_URI} !\.htm$ // ak nepoužijete .htm na svojích stránkach vynechajte
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule ^(.*)$ http://www.vasweb.sk/$1/ [L,R=301]
url už bude v tvare http://www.vasweb.sk/sponzor/
Ak budete mať v sponzor.php nejaku premennú, napríklad id dopíšte do htaccess:
RewriteRule ^sponzor/(.*) sponzor.php?page=sponzor&id=$1 [L] // jedna premenná
RewriteRule ^sponzor/(.*)/(.*) sponzor.php?page=sponzor&id=$1&premenna2=$2 [L] // dve premenné atď.
url bude v takom tvare
http://www.vasweb.sk/id/premenna2/
Výsledný htaccess bude vyzerať takto:
RewriteEngine on
#Options +FollowSymlinks
#RewriteBase /cesta k suborom/
RewriteCond %{REQUEST_URI} !^\/images\/.*$
RewriteCond %{REQUEST_URI} !^\/css\/.*$
RewriteCond %{REQUEST_URI} !^\/js\/.*$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_URI} !\.htm$
RewriteCond %{REQUEST_URI} !\.php$
RewriteRule ^(.*)$ http://www.vasweb.sk/$1/ [L,R=301]
RewriteRule ^sponzor/ sponzor.php?page=sponzor [L]
RewriteRule ^sponzor/(.*) sponzor.php?page=sponzor&id=$1 [L]
RewriteRule ^sponzor/(.*)/(.*) sponzor.php?page=sponzor&id=$1&dalsia_premenna=$2 [L]
Odkazy aj s premennými budú vyzerať takto:
<a href="/sponzor/<?php echo $premenna_id;?>/<?php echo $premenna2;?>/"> odkaz</a>
Keď nie veľmi ale aspoň trocha prispejem svojou troškou k spojazdneniu nešťastného
htaccess pre tých čo sa trápia hodiny a hodiny rozbehania pekných url adries, ten výsledny efekt nakoniec za to stojí.
Čo by to bol za príklad bez príkladu :-) Download je v Link 1.