PHP ja brauseri suunamine
20.01.2007 | Gunnar
Otsingumootorite jaoks on oluline see, kuidas lehekülgedel toimub suunamine. Tavaline suunamine PHP header() funktsiooniga neile eriti ei meeldi, sest tegemist on ajutise suunamisega. Ja mõni robot võib sellist suunamist pidada nii kahtlaseks, et lehekülge, isegi siis, kui see peaks indekseeritud saama, ei näidata otsingutulemuste hulgas või on see kuskil väga tagumises otsas.
Tavaline suunamine, milleks kasutatakse enamasti alltoodud koodi, annab tulemuseks HTTP vastuse 302.
See vastus robotitele ei meeldi, sest ressurss, mida robot indekseerida tahab, asub tema jaoks ajutiselt muul aadressil. See ongi HTTP vastuse 302 idee. Et suunamistega on roboteid algusaegadel küllaltki palju lollitatud, siis on robotid muudetud suunamiste suhtes väga skeptilisteks. Ja HTTP vastus 302 on üks neist vastustest.
Juhul, kui robot küsib leheküljel mõnda aadressi ja teda suunatakse mujale, siis tuleb robotile ka öelda, et tegemist on jääva suunamisega. Ehk siis, mingu sinna aadressile, kuhu öelda, indekseerigu leht ja kasutagu antud aadressi tulemuste näitamisel. Selleks peab server andma roboti pöördumisele vastuseks 301. HTTP vastuse kood 301 tähendab jäävat suunamist. Probleemi lahendab alltoodud koodijupp.
Eeltoodu saab kirjutada ka lühemalt. Nimelt saab header() funktsioonile kaasa anda HTTP vastuse koodi. Soovitatav on mõnede brauserite jaoks lisada ka connection header.
Kui suunamisi on palju ning on teada aadresside kuju, mida küsitakse ning on teada reeglid, kuidas küsitud aadressid viia vastavusse uute aadressidega, siis on mõttekas suunamised lahendada ära veebiserveri tasemel.
Teise kataloogi suunamisel kontrolli üle, et kataloogi nime lõpus oleks kaldkriips, kui vastav kataloog ka füüsiliselt kõvakettal asub. Muidu võib tekkida olukord, kus server teeb veel ühe suunamise. Seega, http://aadress/kataloog asemel kasuta suunamistes alati http://aadress/kataloog/.

12.02.2007 kell 18:59
Väga põhjalik artikkel sellest, miks teised suunamisviisid on halvad ja 301 ainus “õige”, koos õpetustega 301 suunamiste tegemiseks IIS-is, ASP-ga ja .htaccess-failiga: http://www.accessibility101.org.uk/tips/80.htm