ot SaS i MOMCHE(14-01-2002)
reiting (-7)
[ dobre ]
[ zle ]
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 >>
|