Forumai | Naujienų archyvas | Straipsnių archyvas | Struktūra |
Paieška      

Naudotojas: Anonimas | Naudotojų sistemoje: 31394 | Dabar naršo: 50 (0)
Prisijungimas
Vardas:
Slaptažodis:
 prisiminti

Dar neužsiregistravai?
registruokis »

Pamiršai slaptažodį
Naujienų kategorijos
 PHP naujienos (187)
 php.lt naujienos (38)
 Įvairios naujienos (89)
 Naujos programos (66)
 Darbas (73)
Naujienos

Tradicinė WEB konferencija //2011.03.29

Startup Weekend, Vilnius/Kaunas ! //2010.03.26

PHP konferencija 2010 //2010.03.16

PHP conf'09 tiesioginė transliacija - internetu //2009.04.21

PHP conf '09 //2009.04.08

Ieškomi pranešėjai PHP konferencijai '09 //2009.03.19
Naudingos nuorodos

Kaip naudotis
BBcode tinklapyje?
Draugai
straipsniai :: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Parašė: Nikolajus Krauklis aka dzhibas, Data: 2002-01-16
Peržiūrėta: 17137, Spausdinta: 1833
Vartotojų įvertinimas: 4, Balsavo: 20


Atsispausdinti straipsnį Išsiųsti straipsnį paštu


Įvadas

Kai rašote skriptus svarbus dalykas yra galimybė perduoti kintamuosius iš vieno skripto į kitą. Vienas iš metodų kaip tai padaryti - GET metodas. Būtent apie jį čia ir papasakosiu. Kai kurios paieškos sistemos mėgsta neindeksuoti puslapių kurie yra su GET metodų parametrais. Jei jūs neisitikinę kaip tiksliai atrodo GET metodu perduodami kintamieji, štai jums pavyzdys:

http://beta.php.lt/skriptas.php?page=news&id=2

Čia skriptui (skriptas.php) yra perduodami du kintamieji: $page bei $id. Juos automatiškai turėsite savo skripte: $page == 'news' && $id == 2 .

Alternatyva įprastam GET metodui

Tai kaip gi galima apeiti štai rokį url'ą ? Ir kaip tada mes perduosim parametrus kitam skriptui ? Štai jums pavizdys kaip atrodo linkas kurį paieškos sistema jau supras kaip normalų:

įprastu GET metodu:

   http://beta.php.lt/skriptas.php?page=news&id=2

mūsų variantai:

   http://beta.php.lt/skriptas.php/page/news/id/2
   http://beta.php.lt/skriptas.php/page.news/id.2
   http://beta.php.lt/skriptas.php/page-news;id-2

arba

   http://beta.php.lt/skriptas/page,news;id,2 (beta.php.lt variantas)

Čia jau kaip sugalvosite. Dažniausiai visi naudoją patį pirmajį variantą, bet galima naudoti koki tik sugalvosite.

Kodėl vienas variantas liko be .php išplėtimo? Tai įmanoma padaryti Apache web serveryje, kai ant direktorijos Options parametruose yra nustatyta MultiViews arba Options All. ( apache httpd.conf http://httpd.apache.org/docs/content-negotiation.html ). Tada jei serveris neranda skriptas direktorijos, bando ieškoti failo skriptas.* Mūsų atveju jis randa skriptas.php

Kaipgi gauti visus parametrus po skriptas.php? Galima pasinaudoti štai tokiais PHP kintamaisiai: $PATH_INFO, $REQUEST_URI, $SCRIPT_NAME. Pažiūrėkime kaipgi veikia jie ir kaip mes visa tai realizuosime:

<?
    
echo $PATH_INFO."<br>";
    echo 
$REQUEST_URI."<br>";
    echo 
$SCRIPT_NAME;
?>


Šį skriptą savo web serveryje pavadiname url.php ir žiųrime rezultatus. Įvedame paprasčiausią variantą: http://localhost/url.php/pirmas/pirmo_reiksme/antras/antro_reiksme (kurie bando ant savo darbinių kompiuterių galite pasitestuoti ir MultiViews tada jūs galite kreiptis į skriptą http://localhost/url/pirmas/pirmo_reiksme/antras/antro_reiksme) Rezultate browseryje matysime kad visi kintamieji mums gražina tai ko mums ir reikia. Patogesnis variantas yra naudoti $PATH_INFO, kadangi prieš tvarkantis su kintamaisiai nereikės iš gauto url'o striptinti(pašalinti) skripto vardo, mūsų atveju -> url.php

Dabar reikia padaryti taip kad mes galėtume naudotis ir pačiais kintamaisiai? Tai reiškia kad mūsų skriptuose atsirastų kintamieji $pirmas ir $antras ir jų reikšmės būtų analogiškos: $pirmas == 'pirmo_reiksme' && $antras == 'antro_reiksme';

Tam galime padaryti štai tokią funkciją:

<?
function decode_url() {
    global 
$PATH_INFO;
    
    
// Jei PATH_INFO - yra. Jei yra uzhsetinti parametrai
    
    
if(isset($PATH_INFO)) { 
    
    
// Skaidom URL'a musu atveju pagal '/'
    
        
$duomenys explode('/'$PATH_INFO); 
    
    
// Skaichiujam kiek paramtru ir ju reikshmiu atejo ish url'o
        
$num_param count($duomenys); 
        
        if(
$num_param == 0) { 
            
$duomenys[] = ''
            
$num_param++; 
        }
    
    
// Padarom kad atsirastu kintamieji $pirmas bei $antras bei ju reiksmes
        
for( $i 1$i $num_param$i += 2) { 
            
$GLOBALS[$duomenys[$i]] = $duomenys[$i+1]; 
        } 
    }
    
}
?>


Štai šią funkcija įdedam į kokį nors header failą, bei includiname kiekviename skripte. Iš kart po jos decodinam url'a parašę: decode_url();

Štai variantas kai turime tik vieną skirybos ženklą '/', o kaip padaryti su keliais? Pavyzdžiui url.php/pirmas,pirmo_reiksme;antras,antro_reiksme ? Šiuo atveju $PATH_INFO == '/pirmas,pirmo_reiksme;antras,antro_reiksme';

Analogiškai darome funkciją:

<?
function decode_url() 
{
    
// darom kad PATH_INFO prieinamas butu ir funkcijoje
    
global $PATH_INFO;
    
    
$duomenys substr ($PATH_INFO , 1);
    
    
// skaidom url'a pagal pirma skirybos zhenkla ';'
    
$duomenys explode(";",$duomenys);

    
// jei duomenu yra vikdysim toliau
    
if (isset($duomenys))
    {
        
// zhiurim kiek yr tu variablu
        
$d_size sizeof($duomenys);
        for (
$x=0;$x $d_size$x++) 
        {
            
// kiekviena gabaliuka skaidom pagal ','
            
$vars explode(",",$duomenys[$x]);
            if (isset(
$vars)&&sizeof($vars)==2
            {
                
// jei tokio variablo skripte dar nera, mes ji sukuriame
                
isset($GLOBALS[$vars[0]])?true:$GLOBALS[$vars[0]] = $vars[1];
            }
        }
    }
}
decode_url();
// Shtai ir viskas :)
?>


Manau dabar supratote kaip veikia štai šis url rewraitingo būdas.

Apache alternatyva

Apache turi taip pat gerą modulį: mod_rewrite. Panšų url rezultatą galime gauti ir pasinaudojus apach'o mod_rewrite moduliu. Štai jums mažas pavizdys:

.htaccess'e

RewriteEngine On
RewriteRule ^archyvas/([0-9]+)/([0-9]+)/([0-9])+ archyvas.php?data=$1-$2-$3
RewriteRule ^archivas$ index.php


Dabar jei kreipsimes į serverį štai tokiu url': http://beta.php.lt/archyvas/2002/02/15 Servas perrašo url'ą ir kreipiasi štai taip: http://beta.php.lt/archyvas.php?data=2002-02-15

Įdomus variantas? Tikriausiai pamatę tokį adresą patikėtumėte kad serveryje yra kiekvienos dienos atskira direktorija :)

RewriteRule ^archivas$ index.php
Ši eilute redirektina vartotoją į index.php jei url'e nenurodyta pilna data.

Jei norite naudotis rewrite engin'u jums httpd.conf'e atkomentuoti štai šią eilutę:

LoadModule rewrite_module libexec/mod_rewrite.so
// (win konfiguracijoje ji atrodo šiek tiek kitaip - skiriasi keliai)

O ar IIS varototojai taip gali? :) Deja ne.

p.s. pamąstymui:
http://www.delfi.lt/news/daily/lithuania/article.php?id=716982
Kaip manote delfi savo serveryje turi daug daug daug direktorijų kiekvienai naujienų kategorijai ir subkategorijai?


by Nikolajus Krauklis

Sėkmės.

Komentarai:

re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
expert
2002-01-16

Visa tai jau aisku skaityta angliskai, taciau lietuviskai dar karta perskaityti nepakenke. Tiems, kas to dar nezinojo, sis straipsnis turetu buti naudingas.


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
dzhibas
2002-01-16

expert, straipsnis neverstas :) parashytas is lempos.


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
guru
2002-01-17

GRAZU, panasu kazkur staripsni maciau :)
Pakartoti dar niekam nepakenke :)


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
expert
2002-01-18

as nesakiau kad verstas - tiesiog esu skaites jau pora straipsniu liecianciu sita tema.


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
EnC
2002-01-23

labai smagus straipsniukas.....na aš niekur tokio neskaičiau, ir sužinojau tikrai nemažai ;] Ačiū DzHiBaI...


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
mid
2002-01-26

na gerai gerai. bet šis metodas su windows veikia? ar tik su *nix? o tai man kažkas nesigauna :/


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
EnC
2002-01-26

na kas dėl problemų, tai man taip pat yra viena: niekaip negaliu 'įjungti' ar surasti to [source]$PATH_INFO[/source] kintamojo :[


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
dzhibas
2002-01-30

Zhiurek, darom echo $PATH_INFO; ir renkam shtai toki url'a:
http://localhost/test.php [enter]
Mums neishvede nieko, darom:
http://localhost/test.php?asdasd [enter]
mums neishvede nieko, darom:
http://localhost/test.php/asdasd/asas/asas [enter]
output'e turim /asdasd/asas/asas
Pazhiurek dabar pas save analogishkai. Turi isheiti :)


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
EnC
2002-01-30

ačiū...nebandžiau bet būtinai pabandysiu....turėtų suveikti ;]]]


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
EnC
2002-01-30

valio....adresas veikia, bet dabar paveiksliukų nerodo :[


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
aubergine
2002-01-30

jei gerai suprantu - i html heada idek toki dalyka:
<base href="http://servas.com/vieta /kur/guli/skriptas/">

jei tavo urlas atrodo taip:
http://servas.com/vieta /kur/guli/skriptas/script.php/kintamasis/kintamasis2/


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
dzhibas
2002-01-31

Man atrodo lengviau butu padaryti <img src=../
vienu zhemiau nei buvo ankschiau arba ish kart imk ish shaknies
<img src=/images

Sekmes


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
credas
2002-03-07

kai viska suvedi, ir bandai paleisti php skripta, nushoka visas php (cia ant win), turite patarimu?


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
smu
2002-04-17

siaip su apache rewrite'ais geriau per daug nepiktnaudziauti - visgi papildomas apkrovovimas... :)


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Xawiers
2002-05-28

O staj ant Apache2 neweikia su MultiViews
darau http://localhost/index/bla1/bla2/bla3/bla4
ir nors yra scriptas index.php - neranda nieko, iesko diro
gal kas issiaiskinot ka ?


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Lauriux
2002-06-13

Search Engine Friendly PHP pages - pasenes mitas. Gal sercai priesh kokius du metus ir nesercino php pagu, bet dabar tai praeitis.

Siandiej idieginejau uzsenine serco sistema savo page. Anksciau kadais ji man gerai serchino htm, buvo tai pries tris metus. Daba labai idomus klausimas buvo> Ar susitvarkis su PHP?

Visi mano saitu pagai konstruoti įprastu GET metodu.
Na kagi spiderinau savo index.php.
Paieskos robotas per dvidesimt sekundziu nukeliavo mano portalo visais linkais. Praanalizavo viska. Ir kagi statistika tokia>

Sugeneruota ish viso 992 puslapiai.
Juose paieskos robotas suskaiciavo visus zodzius.
Ish viso zodziu puslapiuose - 442 287. Cia lauriuxo metu darbo rezultatas :-)

Vykdome paieska. Randami visi generuotinu pagu geto urlai.

Vadinas veikia. kits dalyk eini i jahoo rasai urlas naujienu pagas
meta newsa su www.saitas.php?t=1&n=1 linku.

Bingo veikia. Vadinasi ishvada kokia ishplaukia:
Search Engine Friendly PHP pages - mitas :-)

kits dalyk nesuprantu kam ten apie delfi dzhibas uzsiminei.

Pas manes toks urlas
www.manosaitas.lt/naujienos.php?t=1&n=1
Direktorija viena.
Niu ir ka. Siame urle t - reiskia naujienos tema kuriu yra keli simtai, n - reiskia naujienos numeri, kuriu yra keli tukstanciai
Viskas dviejuose msql lentelese. Niu ir ka toks vienas urlas gali aptarnauti simtus tukstanciu newsu.
Naujienu anketoje sendas yra inkludas i lib, kur randasi sendo klase. Si klase irgi ish keliu eiluciu. Vadinasi kas ishplaukia visas naujienu varikliukas - TRIJOSE PAGUOSE. O rezultatas tas kad viskas aka delfi or takas. Netgi kruciau nes dar ir pritaikiau newsus anglu ir rusu kalbom.
Kame moralas pagal ezopa - GENIALU KAS PARASTA.


A gerai tas kad maziau parkiu ir didesnis darbo efektyvumas.

Kits dalykas galima ish didelio rasto ir nusiprograminti ish krasto siandien maciau toki urliuka kuris aptarnauja newsus. Rezultatas kaip mano, o urlas:

http://www.uzsieninis_saitas.com/news.cgi?session=606f6a6f3e41065550
834FA8BC0039A80504048872549c34d0f&
mesage_id=7845787&action=read
&type=4578

Aka negalejo apseit urle tik su sesija?

Ir apskritai kam kurpt tokius ilgus sesiju numberius uztenka tik 8 raidziu ir skaiciau kratinio, jau tada butai keli milijardai variantu.
Sesijos tik eshopam.

O get metodas visai priimtinas visiems.
Maziau parkiu daugiau rezultatu.
Ypac begineriams nereikia parintis ten kur galima nesiparinti.


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Kompas
2002-06-25

nu gerai man viskas veikia su tais ',' ir ';' bet nzn kaip juos pasiimt :(
pvz tox url:
test?id=1&a=2

tai as juos pasiimu per GET t y:
echo("id=".$_GET['id']."<br>a=".$_GET['a']);

o jei url yra:
test/id,1;a,2

kaip man pasiimt ta 1 ir 2?
dariau print "$var[1]";
bet tai labai nepatogu ar nebutu galima padaryt kad reiktu rasyt:
print "$var[id]";
print "$var[a]";
??


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
mid
2002-06-25

ju niekur nereikia imt, taigi funkcija pati padaro variablus is path info arba as kazko nesuprantu


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
tomas
2002-06-25

kompas: nesamones biski cia rasai


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
tomas
2002-06-25

ypac cia :D

pvz tox url:
test?id=1&a=2

tai as juos pasiimu per GET t y:
echo("id=".$_GET['id']."<br>a=".$_GET['a']);


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Kompas
2002-06-25

tai ble 10min gal rasiau tai ir visa minti pamirsau :))


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Justux
2002-10-06

O man toks reikalas yra. Kai parasau
http://localhost/test/ script.php/ pirmas/1/ antras/2 tai buna tas pats, kas nerastas failas/direktorija. Kame problemos cia?


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
why2liz
2002-10-13

mano zaidimas kazkada buvo tols

http://localhost.com/lt| $k=page:$v=news| $k=id:$v=12|


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
EnC
2002-11-13

hmmz...bandzhiau shita varianta su urlu ish userio katalogo (t.y. http://some.site/~username/news.php/pos/5) ir man mesdavo 404 error'a >+(

Any ideas ?!


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
ZaZa
2002-12-06

Jai veikti su PHP po Apache, labiausiai gali apsimoketi naudoti toki url'a http://domenas/apie/mus/rashe/vakar/ (ish tikruju yra tik http://domenas/script.php).
Jis graziausias, patogiausias, turi daug privalimu ir featuru. Bet reikia ziureti nuo proekto, nes ne visada jis tinka.


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
AJ
2003-01-26

Jus man zmoniskai paasikinkite ka sitas skriptas daro /??


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
EnC
2003-01-26

AJ - shitas skriptas leidzhia ishsidirbineti ish adresu eilutes narshykleje....


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
WeeTzkAh
2003-03-05

Va ash irgi susiduriu su tokia problema. Cia jau keli rase, bet demesio nesulauke.
http://hostas/skriptas.php - viskas ok
http://hostas/skriptas.php/... -ieshko skriptas.php diroje skripto "..." (ten variablu eilute). Zodzhiu grazina 404.
Apache2 su multiview.

Any ideas?


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
mta
2003-03-22

krushaus, krushaus, taciau neisejo sitas.
visdelto prireike tik VIENOS eilutes, ir problema ispresta :) eilute:
$duomenys = explode('/', $PATH_INFO);


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Obsrv
2003-04-11

man negrazina kazkodel kintamuju :(


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
vAMPiro
2003-04-24

nu... o gal kas pameskite uzsienietishku linku, bo ish shitos informacijos niekaip nepakuriau tokiu url ant savo serveriuko :(


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
EnC
2003-04-24

vAMPiro - vadinasi nemoki kurti >;)


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
teibaz
2003-05-24

hmmm...
nu blin as bandziau pries kokius 4 menesius - neisejo...
bandziau pries pora menesiu - neisejo...
susiinstalinau naujausias versijas php ir apacho ir vistiek neisheina... jau negerai...

kodel, pvz., man echo $PATH_INFO rodo failas.php/ o juk pagal pavyzdi turetu buti / ir viskas...

pvz., dar vienas... jeigu failas.php/taram/param/ tai ishkart rasho ramiausia galva erroras aka nerastas katalogas...

any ideas? please... jau beviltishka :(


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Linux
2003-06-21

makalyne kuriuos niekaip nesuprantu ;(


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Amateur
2003-07-18

beje kas dar nezino(o tokiu yra) ant naujesniu php versiju tokias globalkes kaip $PATH_INFO $REQUEST_URI ir pan.. pakeite $_SERVER['REQUEST_URI'] tad situose scriptukuose pakeiskite vietoj $PATH_INFO i $_SERVER['PATH_INFO'].. ir panasius atvejus... cia gali buti daugelio problema kodel neveikia


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
phx
2003-07-31

Paziurejau kaip google ir yahoo suindeksavo mano puslapi ("site:mano.saitas.lt", dariau zodzio kontaktai paieska, kuris yra kiekvieno puslapio apacioje). Rezultatai - rado visus 6 puslapius, kuriems kintamieji neperduodami, bei viena puslapi su perduotu kintamuoju (main.php?action=sign). Ka pastebejau, tai butent sicia neidejau virsuje <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">, bet nemanau, kad del to butu. Taigi pameginsiu sita varianta, idomu kaip pasikeis paieskos rezultatai. Ir vistik idomu - kodel tas vienas puslapis buvo suindeksuotas? ://


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
phx
2003-08-16

Pakeiciau URL i "kazkoks.hostas.lt/member.php/id/ig", matau, kad google jau indeksavo puslapi is naujo, taciau sitie URL'ai ir toliau lieka nesuindeksuoti..kame reikalas???


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
ZaZa
2003-10-04

Ko ten knistis ;) Radau toki sprendima:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /index.php [L,QSA]

Tik poto kitose dirose prarashikite
RewriteEngine Off kad nestabdytu. Jai klausete kodel taip reikia? Padarykite RewriteLog ir suprasite ;) Laikas ne pinigai, bet lankomumas


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
teibaz
2004-02-25

hehe ;) neseniai bandziau ir vualia :) viskas ore ;)


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
EanDem
2004-03-20

Šioks tokslinkas į temą.


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
virtualas
2004-07-29

dzhibas straipsnis labai zjbs viska butu zjb ishsitychiot ish url lenteles bet kaip matai daugelis nesupranta kaip padaryt tai in real jei gali pateik nediduka pavizdy su pvz 2-3 "direktorijom" :) buciau labai dekingas :)


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
wadoo
2004-10-19

o kaip padaryt kai butu galima naudoti ? (klaustuka) vietoj sio bruksnio /.. cia kai rasai url.php/id,kazkas, o as noreciau daryt url.php?id,kazkas.. bet man dabar neveikia.. ka galetute patarti ? ;]


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Ozas
2005-05-03

Bet juk cia tik explodinamas adresas. Ne geriaui Apache serveryje nustatyti kad jis atpazintu viska taip kaip reikia? :)


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
kacece
2005-11-11

Amateur, ant naujesniu versiju niekas nieko nepakeite, tik reikia ranka php.ini faile pakeisti register_globals i On. Ten saugumo sumetimais defaultiskai isjungta, bet aisku geriau naudoti $_GET, $_POST, $_SERVER ir t.t.

Be to, apacheje geriau naudoti mod_rewrite, nes MultiViews skirtas ne tam tikslui (skaitykite docs'uose), o rewrite modulis palaiko Regex, todel galima daug lankstesnius urlus programuot.

Su mod_rewrite labai paprasta - atsisiunciam RegexBuddy, pasidarom norima regex'a(aishku tiems kas nemoka regex'o), pasidarom:
RewriteRule regex'as kur nukreipti?
Antrame lauke galima naudoti $1, $2 ir t.t.
Pvz.:
RewriteRule ^archyvas/([0-9][0-9][0-9][0-9])/([0-9][0-9])/([0-9][0-9])/?$ mano_php_failas.php?metai=$1&menuo=$2&diena=$3
O php faile viska pasiimam ish get ($_GET["metai"], $_GET["menuo"], $_GET["diena"])

Apie regex'a galima pasiskaityti O'reillio knygoj Mastering Regular Expressions, arba ant greito regex man pages

Sekmes.


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
ZaZa
2006-01-22

O del IIS - shio metu, jai turi $ gali nisipirkti IISui URL Rewtrite moduli/filtra ir padariti ta pati, ka ir po Apache. Pasirinkimas yra pakankamai dydelis ;-)


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
ZaZa
2006-01-23

Beja, po IIS6 bent, variantas http://beta.php.lt/skriptas.php/page/news/id/2 yra imanomas. Tereikia Check that file Exist padarity kad butu neuzdetas pauksciukas, kai diegiamas PHP. Bent CGI man veike. Manau ir ISAPI veiktu. Postinu todel, kad zmonems kartais to reikia :)


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
kandiz
2006-08-19

man viskas veikia, jeigu viso šito nekišu į funkciją. O kai funkcijoje, tai neranda jis $duomenys ir $vars, nors ir bandžiau juos į globalus kišti. Nieko nesigavo... Gal gerai bus ir be funkcijos manau, svarbu veikia :)


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
vist
2007-01-01

Yra va toks linkas:
http://domenas.lt/produktai/index.php?groupid=1&subgroupid=4

As noriu kad adreso eilute atrodytu taip:

http://domenas.lt/turinio-kuri-ziuriu-pavadinimas


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Kick_the_BUCKET
2007-05-20

cia aiskinama kaip tuos pacius duomenis URL adresu pateikti skriptui kitokia forma (sintakse), o ne kaip pasidaryti kad narsykles adreso lauke rodytu tai, kas tau patinka =]


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
BySs
2007-05-25

Gal zinote web, kur galima placiau apie mod_rewrite sintakse paskaityti?


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Istiktukas
2007-07-04

nesamone :D


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
SiNNer
2007-08-25

Speju kad ant IIS sitas dalykas neveikia? :/


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
tomasm7
2008-04-12

kaip puslapis.lt?p=kazkas su rewrite pakeist i puslapis.lt/kazkas/ ?


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
Oggy
2008-08-04

gal kam naudinga bus

pagrindinis puslapis 'page.php' (kad gražiau atrodytų).
Čia atkreipkit dėmesį į nuorodas.
<ul>
<li><a href="page/news">Naujienos</a></li>
<li><a href="page/top">Top'as</a></li>
<li><a href="page/team">Komanda</a></li>
</ul>


Toliau yra div. Jis bus vietoj iframe, t.y. jame keisis turinys.

<div id="main">
<?
$M = array_reverse(explode("/", $_SERVER['REQUEST_URI']));
if(strlen($M[0]) < 1) $M[0] = $M[1]; //jei yra padėtas "/" adreso gale, imam sekančią reikšmę
if($M[0] == "page") $M[0] = news; //jei esame pradiniame puslapyje, turi includinti news
include ($M[0].".php");
?>
</div>


Ir dar..
Į header įdėkit <base href="http://localhost/stnfm/"> //vieta iki page.php failo
Kitaip dings visi stiliai (kai yra linkas į css failą)


Na, tikiuosi supratot, ką čia parašiau. Nesu visiškai tikras ar nebus dar kokių niuansų, bet kolkas pas mane veikia norm.
Jei pastebėsit klaidų, pataisykit.


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
gogosinas
2009-04-29

Gal kas turit simple.php .? sito script pvz..?


re: Search Engine Friendly PHP pages, (url'ai, url'ai,url'ai)
zigm4s
2010-06-02

sveiki, turiu klausimą. kai darau su htaccess visa sita, puslapiu nukreipimas tarkim home/dir/sos veikia puslapi atidaro, bet be css ir png jpg gif paveiksleliu, kaip nustatyti pastovia direktorija siems failams?





nori dalyvauti puslapio vystyme? pareikšti savo nuomonę apie puslapį? prašome :] tik pirmiausia užsiregistuok. jei esi tai padaręs - tiesiog prisijunk per formą puslapio viršuje.

Easter spells out beauty, the rare beauty of new life | © php.lt komanda 2001-2015