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

Problem sa htaccess - om, frendly url

[es] :: PHP :: Problem sa htaccess - om, frendly url

[ Pregleda: 2775 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

jakov82
web master
Beograd

Član broj: 165097
Poruke: 12
95.180.79.*



Profil

icon Problem sa htaccess - om, frendly url01.03.2010. u 12:02 - pre 171 meseci
Pravim frendly url:
Sajt npr.: www.myweb.com

RewriteRule ([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9]+)$ /univerzal_page.php?id=$1&brend=$2&pr=$3&so=$4&pagenum=$5 [NC]

Ova varijanta besprekorno radi na linkovima tipa:
www.myweb.com/oblast/podoblast/21/nissan/prikazi/ime/6 Što bi značilo sledeće: id=21, brend=nissan, prikazi, sortiraj po imenu, strana 6.

Ali ovo ne radi u root-u npr:

www.myweb.com/oblast/21/nissan/prikazi/ime/6 (rewrite pravilo radi samo ako ima jedan ili vise podoblasti, u glavnoj oblasti ne radi)

Može li mi neko pomoći, jer sam probao sve varijante i sa /,^ na početku i jednostavno ne ide

Hvala
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.adsl.sezampro.yu.



+13 Profil

icon Re: Problem sa htaccess - om, frendly url01.03.2010. u 12:18 - pre 171 meseci
Napisi 2 rewrite-a - prvo taj sto si ostavio, a ispod njega da hvata bez podoblasti (izbrises jedan [a-z]...) :-)
 
Odgovor na temu

jakov82
web master
Beograd

Član broj: 165097
Poruke: 12
95.180.79.*



Profil

icon Re: Problem sa htaccess - om, frendly url01.03.2010. u 12:28 - pre 171 meseci
Citat:
Man-Wolf: Napisi 2 rewrite-a - prvo taj sto si ostavio, a ispod njega da hvata bez podoblasti (izbrises jedan [a-z]...) :-)


prva stavka ([0-9,a-z,-]+) je ime te oblasti ili podoblasti pa dalje ide id=21, brend...
što znači kada rewrute uzme ime podoblasti ( www.myweb.com/oblast/podoblast/ ) onda radi a kada uzme ime samo oblasti (www.myweb.com/oblast/) onda ne radi.

napomena: rewrite ne uzima i ime oblasti i podoblasti, već samo poslednje ime u nizu, znači samo ima iza posledenje kose crte
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.adsl.sezampro.yu.



+13 Profil

icon Re: Problem sa htaccess - om, frendly url01.03.2010. u 12:40 - pre 171 meseci
Cekaj, izgleda da se ne razumemo bas. Ja sam mislio da stavis u .htaccess ovako:

Code:

RewriteRule ([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9]+)$ /univerzal_page.php?id=$1&brend=$2&pr=$3&so=$4&pagenum=$5 [NC]
RewriteRule ([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)$ /univerzal_page.php?id=$1&pr=$2&so=$3&pagenum=$4 [NC]


Znaci, ovaj drugi rewrite hvata URL bez podoblast. I onda ti mozes u univerzal_page.php da stavis:

Code (php):


if ( ! isset($_GET['brend'])) {
  // Ne postoji podoblast
} else {
  // Postoji podoblast
}
 


Ako i dalje nisam potrefio sta hoces, probaj jos malko da pojasnis problem :-)
 
Odgovor na temu

jakov82
web master
Beograd

Član broj: 165097
Poruke: 12
*.vektor.net.



Profil

icon Re: Problem sa htaccess - om, frendly url01.03.2010. u 14:56 - pre 171 meseci
Izvini, malo konfuzno objašnjavam.

ovaj kod:
Code:
([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9]+)$


prva zagrada uzima ime oblasti ili podoblasti, tj bilo koje ime koje se nađe iza poslednje kose crte.
Npr: www.myweb.com/automobili/nissan - znaci da prva zagrada treba da bude nissan, dalje
www.myweb.com/automobili/nissan/almera1-5 - prva zagrada je almera1-5
www.myweb.com/automobili/nissan/almera1-5/benzinac - prva zagrada je benzinac

i ovo sve radi po onom pravilu gore navedenom, ali

po logici stvari kod linka www.myweb.com/automobili prva zagrada u rewrite modu bi trebala da bude automobili, međutim nije, izbacuje gresku

Znaci sa prvom zagradom hocu da pokupim ime koje se nadje iza poslednje kose crte bez obzira kolika je dubina sajta. Ono sto me muci je to sto ovaj kod ne radi samu u slucaju kada je dubina sajta 1, znaci postoji samo jedna kosa crta. Cim ubacim neku bez veze rec ispred zeljnog pojma i napravim vecu dubinu sajta ta oblast radi

Napomena: www.myweb.com/(dubina1)/(dubina2)/(dubina3)...

Hvala
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.adsl.beotel.net.



+13 Profil

icon Re: Problem sa htaccess - om, frendly url04.03.2010. u 08:43 - pre 171 meseci
Sorry sto tek sad odgovaram, bio sam u nekoj guzvi :-(

Elem, je l mozes da ostavis gresku koju ti prikazuje i deo koda kuji kupi/obradjuje parametre iz $_GET -a ?

 
Odgovor na temu

jakov82
web master
Beograd

Član broj: 165097
Poruke: 12
95.180.79.*



Profil

icon Re: Problem sa htaccess - om, frendly url04.03.2010. u 08:52 - pre 171 meseci
Greska je 404
 
Odgovor na temu

jakov82
web master
Beograd

Član broj: 165097
Poruke: 12
95.180.79.*



Profil

icon Re: Problem sa htaccess - om, frendly url04.03.2010. u 08:59 - pre 171 meseci
$_GET hvata reč posle poslednje kose crte, zatim je php obrađuje i na osnovu te reci ucitavam stranu sa oblastima ili podoblastima. Ali.. strana sa oblastima ne mora da ima podoblasti, već odmah prikazuje artikle i sa takvom stranom imam problem sa ovim pravilom prepisivanja. Sve je uredu kada se prikaže strana oblasti i u njoj ispisuju podoblasti. Sve je u redu kada je strana podoblasti i ispuje dalje podoblasti ili artikle. Samo je problem kada je strana oblast i ispisuje odmah artikle. Ovo sve radi kada upisujem pravu adresu: www.myweb.com/strana.php?oid=nissan, ali kada napisem www.myweb.com/nissan to ne radi. Jesam li uspe bar malo da budem jasniji :)
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.adsl.beotel.net.



+13 Profil

icon Re: Problem sa htaccess - om, frendly url04.03.2010. u 09:06 - pre 171 meseci
Ok, znaci ne hvata ga .htaccess, cim prikazuje 404. Onda, opet se vracam na staro, dodaj u .htaccess:

Code:

RewriteRule ([0-9,a-z,-]+)$ /strana.php?oid=$1 [NC]


Tj. da ti .htaccess izlgeda ovako:

Code:

RewriteRule ([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9]+)$ /univerzal_page.php?id=$1&brend=$2&pr=$3&so=$4&pagenum=$5 [NC]
RewriteRule ([0-9,a-z,-]+)$ /strana.php?oid=$1 [NC]


Trebalo bi da radi tako :-)
 
Odgovor na temu

jakov82
web master
Beograd

Član broj: 165097
Poruke: 12
95.180.79.*



Profil

icon Re: Problem sa htaccess - om, frendly url04.03.2010. u 09:19 - pre 171 meseci
Izvini bio sam banalan u predhodnom izlaganjnu.

Ova strana strana.php?oid=$1 ima vise $GET parametara, to je ova strana: univerzal_page.php?id=$1&brend=$2&pr=$3&so=$4&pagenum=$5 . Kako bi glasio rewrite u ovom slučaju, stim što je $id parametar po kome razvrstavam da li je oblast ili pod oblast, da li se na strani prikazuju dalje podoblasti ili se prikazuju artikli? Sekunda, šaljem ti kod, možda ću tako bolje objasniti
 
Odgovor na temu

jakov82
web master
Beograd

Član broj: 165097
Poruke: 12
95.180.79.*



Profil

icon Re: Problem sa htaccess - om, frendly url04.03.2010. u 09:21 - pre 171 meseci
Code:
$id=$_GET['id'];

$oblast = mysql_query("SELECT * FROM oblasti WHERE ime = '$id'");
if ( mysql_num_rows($oblast) > 0 ) {
    $rowo = mysql_fetch_array($oblast);
    switch ($rowo['fin']) {
        case 'da':
        
        $brend = $_GET['brend'];
        $pregled = $_GET['pr'];
        $so = $_GET['so'];
        $pagenum = $_GET['pagenum'];

        echo prikaziProizvode($id,$url,$brend,$pregled,$sort,$so,$pagenum);
        break;
        
        case 'ne':
        echo prikaziPodoblasti($id,$url);
        break;
    }
} else {
    $artikl = mysql_query("SELECT * FROM artikli WHERE link = '$id'");
    $rowa = mysql_fetch_array($artikl);
    
    
            
            echo prikaziArtikal($id,$url);    
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.adsl.beotel.net.



+13 Profil

icon Re: Problem sa htaccess - om, frendly url04.03.2010. u 10:05 - pre 171 meseci
Uff, ne mogu bas najbolje da se snadjem u tvom kodu (tacnije, da povatam sta je sta), ali, probaj ovako:

1. Napravi htaccess ovako:

Code:

RewriteRule ([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9,a-z,-]+)/([0-9]+)$ /univerzal_page.php?id=$1&brend=$2&pr=$3&so=$4&pagenum=$5 [NC]
RewriteRule ([0-9,a-z,-]+)$ /univerzal_page.php?id=$1 [NC]


2. U kodu napravi neku jednostavnu proveru:

Code (php):


if ( ! isset($_GET['id']) {
  // Greska, fali ID polje
}

$id = (int) $_GET['id'];

if (count($_GET) > 1) {
  // Ima vise parametara u GET-u, primeni neku logiku ....
} else {
  // Postoji samo jedan parametar - oblast
  // Primeni neku logiku .....
}
 


Trebalo bi da bude ok ovako :-)
 
Odgovor na temu

[es] :: PHP :: Problem sa htaccess - om, frendly url

[ Pregleda: 2775 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

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