ot SaS i MOMCHE(14-01-2002)

reiting (-7)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

CHesto se govori za optimizirane na saitove za po-lesna indeksatsiia ot turseshti mashini. Tova oznachava suobraziavane na konstruktsiiata na sait sus osobenostite na rabota na turseshtite mashini. Podchertavam povecheto, zashtoto sushtestvuva razminavane vuv indeksirashtite im algoritmi i e nevuzmozhno da se udovletvoriat ednovremenno dobre vsichki kriterii. Kogato saita, koito upravliavate se sustoi ot dinamichno izmeniashta se informatsiia i se izpolzvat programni skriptove adresite na dinamichno generiranite stranitsi sa ot tipa:

http://www.simetro.com/books/book.php?theme=dreams&design=1

Teksta sled znaka "?" ima smisul na parametri ot, koito zavisi kakvo shte se pokazhe vuv brauzura. Tova se iaviava i edna ot osnovnite prechki pri obhozhdane na takuv sait ot turseshta mashina. Turseshtite mashini otkazvat da indeksirat URL sled znaka "?". Zashto? Edva li mozhe da se nameri ednoznachen otgovor, no vazhnoto e, che tova e taka i ako iskame stranitsite skriti zad "?" da budat izvestni na "tursachkata" triabva dopulnitelna namesa. Ima reditsa nachini za izbiagvane na tozi konflikt: generirane na statichni stranitsi ot dinamichnite skriptove, prenasochvane na vsiako obrushtenie kum survura kum skript, koito obrabotva poiskaniia URL i otgovaria po adekvaten nachin, prenapisvane na poiskaniia nerealen URL ot survura do nov realen.
Metoda s prenasochvane na vsichki zaiavki kum edin edinstven skript, koito reshava kak da produlzhi izpulnenieto e svurzano s dosta goliamo dopulnitelno natovarvane na mashinata na, koiato se hostva saita. Tova e tvurde nezhelatelno za mashini, koito imat ot niakolko desetki do stotitsi potrebiteli surfirashti ednovremenno na saita.
Mnogo po-eleganten i burz nachin e prenapisvane na fiktiven, nerealen URL s pomoshtta na modula na Apache server mod_rewrite. Algorituma na rabota na tozi metod e svurzan s obrabotka na poiskaniia URL spored zadaden reguliaren izraz. Vuzmozhno e izvikvaneto na reguliaren izraz sled izpulnenie na opredeleno uslovie, kakto i zatsikliane na spisuka ot prenapisvashti pravila dokato se postigne tursen rezultat. Adres ot tipa:

http://www.simetro.com/books/book_php/theme/dreams/design/1 (1)

mozhe da bude prenapisan do:

http://www.simetro.com/books/book.php?theme=dreams&design=1 (2)

Smisula na tova prenapisvane e, che URL (1) ima smisul na direktoriina struktura i tursachkata shte uspee da go indeksira bez da e obezpokoena ot simvol "?". V tozi sluchai vashiia sait zapazva sushtata si struktura, edinstvenata razlika e che hipervruzkite se nalaga da se prenapishat taka, che da otgovariat na algorituma za sustaviane na noviia tip URL.
Eto i kratuk primer na tova kakvo predstavliava praviloto za gornoto prenapisvane:


# Vklyuchva mashinata za prenapisvane na URL
RewriteEngine On


# Dobavia znaka ?
RewriteRule (.+)_php/([^/]*)$      $1\.php\?$2

# Kogato ima poveche ot edin parametur
RewriteCond $4 !=""
RewriteRule (.+)_php/([^/]+)/([^/]+)[/&](.*)$      $1_php/$4&$2=$3

# V sluchai, che ima samo edin parametur
RewriteCond $4 =""
RewriteRule (.+)_php/([^/]+)/([^/]+)[/&]?(.*)$      $1_php/$2=$3


Za da mozhe da raboti tova pravilo shte e dobre da se uverite che imate Apache server s mod_rewrite poddruzhka.
Praviloto za prenapisvane mozhe da bude slozheno vuv glavniia konfiguratsionen fail na Apache server httpd.conf ili vuv .htaccess fail. Za predpochitane e postavianeto v httpd.conf faila, zashtoto prenapisvaneto stava pri obrushtenie kum survura. Ako praviloto e postaveno v .htaccess fail se gubi poveche vreme, zashtoto survura veche e obrabotil zaiavkata i kogato proveri kakvo pishe vuv .htaccess faila se nalaga povtorno vrushtane za povtorna obrabotka na zaiavkata.

Primer za sait rabotesht s prenapisani URL adresi e http://simetro.com/books/

Poveche informatsiia za mod_rewrite mozhe da namerite v ofitsialnata dokumentatsiia za modula na saita na Apache na adres: http://httpd.apache.org/docs/mod/mod_rewrite.html
Mnogo interesni primeri i reshenie na bazata na prenapisvane na adresi ima na: http://www.engelschall.com/pw/apache/rewriteguide/

Uspeshna rabota.

SaS i MOMCHE



<< Postoianen poddomein za dial-up s dinamichen IP-adres... | Kak da si napravim IR-upravlenie za programite v LINUX - II >>