Jump to content
php.lv forumi

Aprejamais gabals


Turecky
 Share

Recommended Posts

dažas pašreizējās adreses:

1) blenubode.lv/?sec=163 // Kontakti

2) blenubode.lv/cat_view.php?cat=103 // Puzles

3) blenubode.lv/pro_view.php?cat=103&pro=507 // Puzles > Puzle "Lācis"

4) blenubode.lv/cat_view.php?cat=109 // Spēles

5) blenubode.lv/pro_list.php?cat=109&scat=101 // Spēles > Prāta spēles

6) blenubode.lv/pro_view.php?cat=109&scat=101&pro=991 // Spēles > Prāta spēles > Spēle "Taurenis"

 

ja mod_rewrite izmanto priekš seo (googles), tad

1) blenubode.lv/kontakti

2) blenubode.lv/katalogs/puzles/103

3) blenubode.lv/prece/puzles/puzle-lacis/507

4) blenubode.lv/katalogs/speles/109

5) blenubode.lv/katalogs/speles/prata-speles/101

6) blenubode.lv/prece/speles/prata-speles/spele-taurenis/991

 

ja mod_rewrite izmanto, lai adrese būtu "smukāka", tad

1) blenubode.lv/kontakti

2) blenubode.lv/puzles

3) blenubode.lv/puzles/puzle-lacis

4) blenubode.lv/speles

5) blenubode.lv/speles/prata-speles

6) blenubode.lv/speles/prata-speles/spele-taurenis

 

kad adresē norāda ciparisko id, tad parasti pietiek ar vienu/gala id, jo pēc preces id var noteikt, kurā kategorijā/apakškategorijā/apakšapakš...kategorijā tā atrodas, un to pareizi parādīt user interfeisā (menu,breadcrumbs,...). tā pat arī pēc apakškategorijas id var noteikt visas augstākās kategorijas, jo tabulās visi šie dati ir (normāli ir jābūt). līdz ar to adresē tehniski ir iespējams atstāt minimālu info

 

pirms vispār sākt lietot mod_rewrite, iesaku attiecīgajās tabulās blakus cipariskajam id ieviest lauku arī dabiskajam id (pēc analoģijas ar ciparisko id to laikam varētu saukt arī par "burtisko" id :D:D:D). dažos gadījumos pat pietiek tikai ar dabisko id. parastajām lapām (kontakti, par mums, ...) sākotnējās/ārējās adreses /kontakti /par-mums iekšēji tiek padotas uz /?n=kontakti /?n=par-mums. šīs vērtības tad arī pārbauda parasto lapu tabulā, un parāda attiecīgās lapas saturu. starp citu parametrs n ir nice saīsinājums (nice uri - "smukā" adrese) ;)

 

"mod_rewrite for seo" variantā attiecībā uz NE parastajām lapām (kategorijas,preces,...) ir ieviesti speciālie vārdi "katalogs", "prece", lai uzreiz varētu atpazīt, kas tas ir par saturu. piemēram, no parametra /?n=katalogs/puzles/103 pirmās daļas "katalogs" ir skaidrs, ka tālāk seko kategorija(s) un uzreiz var izmantot pēdējo daļu 103 ar tehnisko/ciparisko id, lai ar to savāktu un parādītu vajadzīgos datus. līdzīgi arī no /?n=prece/puzles/puzle-lacis/507 pēc "prece" ir skaidrs, ka ir jārāda prece ar id 507. lai arī kategoriju un preču nosaukumi šeit vēl netiek izmantoti kategorijas/preces identificēšanai, taču formējot adresi tiem anyway ir jābūt (iegūst vai nu automātiski uzģenerējot no nosaukuma/virsraksta, aizvācot garum/mīkstinājum zīmes un aizvietojot atstarpes ar "-", vai nu pats, pievienojot kategoriju/preci, ieraksta arī dabisko id)

 

"mod_rewrite for beauty" variantā, kad adresē vairs nav nekāda lieka/tehniska info, ir jāveic papildus pārbaudes, lai noskaidrotu, uz ko vispār attiecas adresē redzamās vērtības. piemēram, saņemot /?n=speles/prata-speles/spele-taurenis, vispirms pārbauda vai "speles" ir parasto lapu tabulā, pēc tam kategoriju tabulā (tikai starp pirmā līmeņa kategorijām), un ja nav arī tur, tad tikai parāda paziņojumu, ka pieprasītā lapa nav atrodama. šajā gadījumā gan noskaidrotos, ka "speles" tomēr ir un ir kategorija, kas nozīmē, ka tagad var pārbaudīt pēdējo daļu "spele-taurenis", lai noskaidrotu vai tā ir apakškategorija vai prece, un beigās parādīt attiecīgo (preces) saturu. ok, šīs papildus pārbaudes, protams, ir arī papildus slodze serverim un arī programmētājam to uzkodēt un pēc tam uzturēt (lai gan neliekas pārāk sarežģīti), toties adrese ir "smukāka" :))

 

kuru no "mod_rewrite for ..." variantiem izmantot, tas ir atkarīgs no paša un no klienta vēlmēm... ;)

good luck, have fun

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...