Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

URL rewriting bez mod:rewrite

[es] :: PHP :: URL rewriting bez mod:rewrite

[ Pregleda: 2200 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

woss
sam svoj majstor
RI

Član broj: 159165
Poruke: 8
*.adsl.net.t-com.hr.



Profil

icon URL rewriting bez mod:rewrite23.04.2008. u 14:38 - pre 194 meseci
Pozdrav narode evo već treći dan pokušavam napraviti SEF urlove za sajt koji radim ali nikako da mi uspije.
Novak sam na to području a šef hoće to da se napravi.
Našao sam 2 klase na phpclasses.org, jedna radi kodiranje linkova sa base_64 a druga je dobra samo ne kontam zašto neće da radi u subfolderima :)
radi se o ove dvije klase

http://cesars.users.phpclasses.org/url_rewriter
http://www.phpclasses.org/browse/package/1844.html

Pokušao sam probiti joomlinu komponentu ali je to preeenapredno za mene.
Meni treba nešto jednostavno ne toliko komplicirano.
Dat ću primjer pa ako tko ima kakvu ideju neka se javi:

index.php?varijable=pregled&view=1203&xyz=32165498

to je najkompliciraniji link :S
ovo gdje piše pregled se mijenja. to je kao neki modul koji može biti anketa....
ovo iza pregleda su njegove varijable.
Htio bih da napravim nešto slično /prva-kategorija/prva-podkategorija/druga-podkategorija/n-ta-podkat/naslov.ext.
napravio sam preko htaccessa ali to je dinamički url pa tako da on otpada aionako sam mislio stavljati u bazu pa onda vući iz baze ako ne postoji SEF url.

Vjerujem da tako rade komponente i u joomli.

Nadam se brzom odgovoru
p.s. samo da se pogrešno ne tumači NE TRAŽIM DA ITKO NAPRAVI NEŠTO ZA MENE NEGO DA MI SAMO UKAŽE KAKO POČETI SA SKRIPTOM.

hvala






 
Odgovor na temu

hatebreeder
Sinisa Bobic
Belgrade

Član broj: 48145
Poruke: 192
91.185.124.*

Jabber: sinisabobic@gmail.com
ICQ: 339407553
Sajt: www.sinisabobic.com


Profil

icon Re: URL rewriting bez mod:rewrite23.04.2008. u 17:17 - pre 194 meseci
ako sam te dobro razumeo ti bi da tim urlom otvoris starnu pregled...

to je bar jednostavno

Code:

$page = $_GET["variable"];
include("$page.php");


recimo da je to pcoetak posle dodaj proveru dal ta strana uopste postoji da ne bi dolazilo da raspadanja... itd itd
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6279

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: URL rewriting bez mod:rewrite23.04.2008. u 19:03 - pre 194 meseci
Citat:
woss: Pozdrav narode evo već treći dan pokušavam napraviti SEF urlove za sajt koji radim ali nikako da mi uspije.
Novak sam na to području a šef hoće to da se napravi.



Probaj http://seo-url-tools.datavoyage.com/. To ti je freeware klasa koja radi SEF URL-ove. Prilicno je jendotavna a imas na sajtu i gootov primer koji radi...

 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
77.46.246.*

Sajt: https://avramovic.info


+46 Profil

icon Re: URL rewriting bez mod:rewrite23.04.2008. u 21:29 - pre 194 meseci
Klasa koju Peđa pominje je dobra, ali i dalje zahteva mod_rewrite. Ipak, ne verujem da url rewriting može da se uradi bez mod_rewrite biblioteke... jedino nešto kao sajt.com/stranica.php/kategorija/itd/itd/naslov mada ne znam koliko je to efikasan rewriting.
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

woss
sam svoj majstor
RI

Član broj: 159165
Poruke: 8
*.dsl.iskon.hr.



Profil

icon Re: URL rewriting bez mod:rewrite24.04.2008. u 19:06 - pre 194 meseci
baš mi je drago što se netko odazvao na moje pitanje. :)

naime, gledao sam sef komponentu za joomlu koja radi takve linkove i iskoristio neke njene funkcije.

Možda malo sam i pogriješio kad sam stavio u naslov "rewrite BEZ mod_rewrite-a" jer bez njega nema rewrite-a.
Mislio sam sa tim reći da trebam napraviti skriptu a ne jednostavno staviti neki RewriteCond ili Rule u .htaccess i imati bilo koji url nego da on
ima nekog reda i smisla Uspio sam do neke mjere jer u joomlinoj skripti nekako se prosljeđuje pravi URI
(onaj sa varijablama index.php?a=321&b=987) kroz $_SERVER['REQUEST_URI'] a onaj SEF URI ide kroz $_SERVER['REDIRECT_URI'] koji ne znam kako iskoristiti jer svaki put mi SEF uri stavlja u REQUEST_URI pa ga ne mogu koristiti jer ne sadržava varijable nego nazive i naslove.

hvala za klasu, budem ju pogledao :)
javm kako je prošlo :D:D:D




 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6279

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: URL rewriting bez mod:rewrite24.04.2008. u 20:08 - pre 194 meseci
U stvari moze i bes mod rewrite. Ova seo-url-tools klasa radi i to. Naravno postoje neka ogranicenja, ali da moze - moze. Probao sam. To naravno zavisi od http severa i na Apacheu radi.
 
Odgovor na temu

woss
sam svoj majstor
RI

Član broj: 159165
Poruke: 8
*.adsl.net.t-com.hr.



Profil

icon Re: URL rewriting bez mod:rewrite25.04.2008. u 10:26 - pre 194 meseci
@Predrag ,
Samo da kažem da je klasa jako lijepa. :)
Zanima me da li je moguće promijeniti izgled SEF url-a?
Da objasnim:
ovo je tip linka koji klasa radi "http://seo-url-tools.datavoyage.com/test/news/12.3.de?disp=2"
koji mi ne paše jer to nije to što žele moji nadređeni :D

oni bi htjeli link da bude sličao ovome : "http://seo-url-tools.datavoyag.../path2/path3/path4/path5/path6"

jer radim neki oglasnik pa hoće da imaju sve nazive kategorija u adresbaru zajedno sa naslovom oglasa na kraju.
Moj pravi(onaj ružni) url je takav da kategorija se mijenja npr:
ako mi je glavna kategorija id=3 onda u linku mi stoji

index.php?nešt=modu&c=3

a kad idem u podkategoriju kategorije sa Id=3 , koja ima svoj id = 123 onda link mi je

index.php?nešt=modu&c=123

i tako dok ima kategorija/podkategorija i na kraju link je

index.php?nešt=modu&oglas=3&p=3216549874

gdje je oglas varijabla koja sadrži kategoriju koja nema podkategoriju.

e sada, recimo da imam oglas koji je smješten u kategoriji koja je četvrta podkategorija glavne kategorije glavna->1SUB->2SUB->3SUB->4SUB->oglas
meni link, po njihovom, mora biti

mojdomen.com/ime_modula/glavna/1SUB/2SUB/3SUB/4SUB/naslov_oglasa


na kraju može a i ne mora doći neka extenzija.

u onoj klasi koju sam u prvom postu dao (cesar....) o koristi regular expression linka..

Samo da napomenem da je ona funkcija koju sam modificirao od joomle uredu ali je beskorisna jer ne mogu izvući iz nje parametre.
U orginalnoj komponenti sef link se nalazi u #_SERVER[REDIRECT_URI] (nikad čuo) a onaj pravi ( ružni) je u #_SERVER[REQUEST_URI], što mi nije jasno jer pokazuje SEF url, a mislio sam da bi on trebao automatski biti u #_SERVER[REQUEST_URI].

Molim za odgovor.

pozz



 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6279

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: URL rewriting bez mod:rewrite25.04.2008. u 22:06 - pre 194 meseci
Sam princip kako klasa radi sa URL-om se ne moze menjati. Prosto, manipulacija URL-om je sama po sebi dovoljno komplikovana da sam odmah odustao od ideje da omogucim da korisnici sami izabiraju format URL-a. Previse bi tu bilo promenljivih elemenata i to bi bilo vrlo tesko ako ne i nemoguce uraditi kako treba.

Medjutim, klasa podrzava mnog raznih nacina formatiranja URL-ova, pa tako i ovo sto ti to trazis.

Klasa je zamisljena da pokrije prilican broj raznovrsnih potreba. Jesi li uopste probao da otvoris URL u tom formatu koji ti odgovara: http://seo-url-tools.datavoyag.../path2/path3/path4/path5/path6 ?

Klikni na gornji link i dobices:

Code:


Current url as string:
http://seo-url-tools.datavoyag.../path2/path3/path4/path5/path6

Current url as array:
Array
(
    [root] => /test/
    [scheme] => http
    [host] => seo-url-tools.datavoyage.com
    [path] => Array
        (
            [opt] => path1
            [item] => path2
            [subitem] => path3
            [p3] => path4
            [p4] => path5
            [p5] => path6
        )

    [section] => admin
    [options] => 
)


Host: seo-url-tools.datavoyage.com
Section: admin
Option: path1
Item: path2
SubItem: path3
Page: 0
Lang: en
Disp: 



Obrati paznju na [path] sekciju u nizu. Tu su svi elementi iz URL-a koji ti trebaju. Na tebi je kako ces dalje da ih iskoristis.

Ta test stana je upravo i predvidjena da mozes da ukucas bilo kakav URL i da vidis kako ce on biti isparsiran u niz. Sve sto treba to je da malo eksperimentises, ukucavas razne kombinacije i vidis kako mehanizam radi.

Prouci http://seo-url-tools.datavoyage.com/idea-How_does_it_work, jer je tu objasnjeno kako klasa parsira (i gradi URL). Ona te ne prisiljava da koristis odredjenu strukturu URL-a, ali podrzava razne nacine formiranja URL-a, tako da imas dosta slobode da sam odlucis na koji nacin ces da ih upotrebis.

Obavezno prouci funkcije koje klasa sadrzi. Ideja je da prilikom gradjena linova to radis kroz klasu, jer ces tako obezbediti potpunu funkcionalnost i pti tom, ne moras da mislis o tome kako da sacinis URL. Dakle, bukvalno, gde god na strani treba da prikazes URL, generisi ga kroz klasu. Tako ces dobiti univerzalne i jednoobrazne URL-ove a prilikom otvaranja dokumenta, jednim pozivom funkcije ces iz URL-a dobiti sve parametre u nizu, tako da samo treba da ih procitas i upotrebis.

Ako tako uradis, uvek mozes u skripti da iskljucis SEO i klasa ce ti davati klasicne url-ove sa querijima, a da ne promenis ama bas nista drugo u kodu sajta. To je vrlo zgodno ako pravis neki univerzalan skript pa ga neko stavi na host gde ne radi mod_rewrite. Teoretski, mogao bi cak i da drasticno promenis format SEO URL-ova tako sto bi menjao samo klasu ali i dalje u samom kodu sajta ne bi morao nista da menjas.



Imaj u vidu da postoje neka tumacenja da je bolje da u URL bude sto manje znakova '/', jer svako '/' pretrazivac tretira kao jednu 'dubinu' vise.
 
Odgovor na temu

woss
sam svoj majstor
RI

Član broj: 159165
Poruke: 8
*.adsl.net.t-com.hr.



Profil

icon Re: URL rewriting bez mod:rewrite28.04.2008. u 08:57 - pre 194 meseci
Poštovani Predrag,

Neizmjerno se zahvaljujem na brzim odgovorima te pogotovo na ovoj klasi.
Proučio sam primjer koji si mi dao i uočio da je [path] sve što mi treba. Zbog nedostatka vremena u izradi ovog sajta moram odgoditi
način izrade URL-a kako si ti oredložio, jer to bi mi uzelo garant tjedan dana.

Reći ću ti kako sam rješio problem, možda dobiješ kakvu ideju za ubuduće
u joomli postoji funkcija koja se zove sefRelToAbs($url) ona mi radi svu konverziju te unos u bazu. Pored te funkcije dolazi još 2 koje rade svoj dio za izradu url-a
Jedna od njih je sefencode($url); ona miče sve znakove i nepotrebna prazna mjesta( koristim eregi_replace) te funkcija kreatesefnames($url) koja praktički generira url, zovem ju poslije sefencode().
U bazu upisujem stari i novi url te neke parametre( katID,ProdId).
Ako isključim sef onda on vraća samo url koji je parsiran( onaj ružni).

Tvoja klasa drži sve te parametre i komplete infose o trenutnom urlu.
I to mi je jako važno jer bez nje moj sef je beskoristan
Ona mi služi kao poveznica između sefa i stranice.

Zato još jednom hvala na savjetima i na brzom odgovoru.

Samo da pohvalim SVE ljude naovom forumu jer definitvno je najbolje mjesto za učenje i postavljanje pitanja.

Mislim da neće biti više postanja na drugim forumima


pozz

 
Odgovor na temu

[es] :: PHP :: URL rewriting bez mod:rewrite

[ Pregleda: 2200 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.