Katika somo hili tutakwenda kujifunza kuhusu kutengeneza friendly url, yaani link iliyo rafiki kwa matumizi ya website na blog. Link iliyo rafiki kwa SEO. Katika somo hili tutaendelea kutumia ile blog yetu tulioitengeneza kwenye somo la 11.
Kufanya friendly url.
Friendly url ni link iliyo rafiki kiusalama na kwenye SEO. angalia mfano kwenye ile blog yetu link ya kwenye post ipo hvi http://localhost/web/view.php?id=2 sasa hapa tunataka kuondoa hivyo view.php?id=2 tufanye kitu ambacho ni rafiki kama http://localhost/web/2-alama-za-barabarani hapo tutaondoa empty space katikati nimezibadili kw akuweka alama ya “-”. Id 2 ipo kama mwanzo. Tutaendelea kuitmia ili somo letu liwe rahisi zaidi na bado usalama uendelee kuwepo.
Sasa hatuwa ya kwanza ni kuondoa view.php?id= tunakwend akubadili kipengele hiki kabisa ili url iwe http://localhost/web/2 ili kufanya hivi tunatakiwa tuweze kutumia .htaccess file. Huwenda hii ndio mara yako ya kwanz akusikia hiki kitu .htaccess, ama tayari unatambuwa, basi hapa nitakujuza zaidi.
.htaccess ni nini?
Ni kifupisho cha maneno hypertext access hili ni faili ambalo linafanya configuratio kwenye web yake katika folda husika. Yaani linaweza kufanya stting khusu website yako. Lenyewe linaandikwa kwa lugha ya apache language ama derective. Hata hivyo hapa hatutajifunza hiyo language, wala syntax za htaccess. Lengo hapa utajifunza ili tuweze kufanikisha lengo la somo letu.
Htaccess inaweza kufanya haya:
-
Kubadilisha link ya faili husika
-
Kublock upatikanaji wa baadhi ya mafaili
-
Kubadili file extension kwa mfano .html likasomeka kama .php
-
Ku redirect url
-
Kuondosha baadhi ya vitu usivyovitaka kwenye link.
Sisi hapa hasa tunahitaji hiyo namba 5, ambapo tutakwenda kuondosha view.php?id=2 kwenye url.
Hatuwa za kutengeneza .htaccess
-
Tengeneza faili kwenye root folda. Root folda ni folda ambalo lina website yako.
-
Hilo file liite.htaccess huna haja ya kuweka extension yeyote
-
Hatuwa inayofuata ni kuweka ON liho file. Mwanzo kabisa weka code hii RewriteEngine on
-
Ili kujweza ku comment utaweka alama ya reli # mwanzoni mwa conmment yako.
-
Ingia kwenye faili la index, pale kwenye link inayopeleka data kwenye view.php ondosha maneno haya view.php?id= hivyo kutabakia hivi <a href="<?php echo $fetch['id'];?>">View</a>
-
Sasa hayo maneno tuio yaondoa tunakwenda kuyaweka kwenye htaccess file ili kufidia kipengele hiko.
-
Ingia kwenye file la htaccess weka code hizi RewriteRule ^([0-9]+) view.php?id=$1
-
Mpaka kufika hapo kama ubabofya view kwenye file la index itapata link hii http://localhost/web/2 na itafungua post yetu ya alama za barabarani. Hapa tumemaliza hatuwa ya kwanza.
Hatuwa ya pili tunakwenda kuongeza title ya post kwenye hiyo link. Pia tutaongeza alama ya “-” kutoka 2 kwenda kwenye title. Haya yote utaongeza tu kawaida kwa kutumia echo kwenye index page. Hivyo link sasa itaonekana hivi <a href="<?php echo $fetch['id']."-".$fetch['title'];?>">View</a> baada ya kubadili link kuwa hivyo huna haja ya kuongeza kitu kwenye htacces.
Sasa bofyo kwenye view uone je link imekaa sawa. Kama umefata maelekezo vyema link yako itaonekana hivi http://localhost/web/2-ALAMA%20ZA%20BARABARANI utaona hapo kuna changamoto kwenye kila empty space utaona kuna alama ya % sasa ili hiyo alama isiwepo tunatakiwa tuondoe hizo empty sapace.kufanya hivyo tutatumia str_replace() kama tulivyoitumia kwenye somo la 9 wakati wa kubadili jin ala faili.
Pia tumejifunza matumizi ya function hii kwenye php level 1 tulipoojifunza kipengele cha built in function. Tutaitumia function hii na title. Hivyo link yetu itakuwa hivi <a href="<?php echo $fetch['id']."-".str_replace(" ","-",$fetch['title']);?>">View</a>
Kama umefuata maelekezo vyema ukibofya hapo url link itasomeka hivi http://localhost/web/2-ALAMA-ZA-BARABARANI
Sasa utaona hapo kuna herufi kubwa, kitaalamu url haipendezi kujwa na herufi kiubwa. Hivyo tutakwend akuzibadili ziwe herufi ndogo. Kufanya hivi yutatumia function inayoitwa strtolower() hii hutumika kuweka maneno yite kwenye herufi ndogo hivyo tutafanya hivi strtolower($fetch['title'])na code nzima itaonekana hivi <td><a href="<?php echo $fetch['id']."-".str_replace(" ","-",strtolower($fetch['title']));?>">View</a> </td>
Na link yurt itaonekana hivi http://localhostweb/2-alama-za-barabarani
Hapa itakuwa ndio mwisho wa kipengele hiki. Tutakuja kujifunza zaidi kuhusu htaccess kwenye level zinazofuata. Tutakuwa na advanced php, pia kwenye project yetu tutajifunza command nyingine za htaccess.
RewriteEngine on
#sasa unaweza kuendelea kuandika command
RewriteRule ^([0-9]+) view.php?id=$1
MWISHO:
Tukutane somo la 15 tutajifunza kuhusu kufanya hashing, yaani kuficha neno la siri. Hii ni moja katika njia nyingine za kiusalama ambazo unatakiwa utumie kwenye database yako.