[ kukipei @ 30.05.2007. 15:34 ] @
| Pokusavam da ovaj url: games_details.php?game_id=52 promenim u: games_details/52
Ovo je .htaccess koji koristim:
Code: RewriteEngine On
RewriteRule ^games_details/([0-9]+)$ games_details.php?game_id=$1
ali ne radi.
U cemu gresim.
Pozdrav |
[ emranonline @ 30.05.2007. 17:40 ] @
hmm.
pokusao sam.
kod mene radi bez problema.
[ kukipei @ 30.05.2007. 18:08 ] @
Da li imate neku ideju zasto kod mene ne radi.
web server je apache 2.0
OS windows xp
[ emranonline @ 30.05.2007. 19:08 ] @
nebi mogao da ti odgovorim zbog cega ne radi ali ja sam isprobao na FreeBSD-u Apache 2.0.
[ hatebreeder @ 30.05.2007. 22:42 ] @
Za pocetak jesi li ucitao mod_rewrite u httpd.conf?
[ kukipei @ 31.05.2007. 07:36 ] @
Citat: hatebreeder: Za pocetak jesi li ucitao mod_rewrite u httpd.conf?
Jesam
Inace ovaj kod radi dobro:
Code: RewriteEngine On
RewriteRule ^games_details([0-9]+)\.php$ games_details.php?game_id=$1
[Ovu poruku je menjao kukipei dana 31.05.2007. u 10:04 GMT+1]
[ Br@nkoR @ 31.05.2007. 13:35 ] @
Kod mene ne radi prvi kod. :)
Problem verovatno stvara MultiViews, probaj ovako:
Code:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteRule ^games_details/([0-9]+)$ games_details.php?game_id=$1
[ kukipei @ 31.05.2007. 17:55 ] @
Kada sam ubacio taj kod u .htaccess dobio sam Internal Server Error, a u apache error log sledecu poruku:
[Thu May 31 18:47:28 2007] [alert] [client 127.0.0.1] D:/Web/LD/.htaccess: Options not allowed here
Pozdrav
[ Br@nkoR @ 31.05.2007. 19:23 ] @
Možda je u httpd.conf fajlu zabranjena upotreba Options u .htaccess fajlu, proveri, postavi u httpd.conf fajlu:
Code:
AllowOverride All
Ili podesi samo one grupe direktive koje su ti potrebne, a uz to i Options
Isto u httpd.conf fajlu možeš isključiti MultiViews.
[ kukipei @ 01.06.2007. 10:46 ] @
Pozdrav,
AllowOverride je postavljen na All
Gde da proverim da li je Options zabranjen.
ovo mi javlja u rewrite logu:
Code: 127.0.0.1 - - [01/Jun/2007:11:29:52 +0200] [localhost/sid#26bf58][rid#1401d60/initial] (3) [per-dir D:/Web/LD/] add path info postfix: D:/Web/LD/games_details.php -> D:/Web/LD/games_details.php/1487
127.0.0.1 - - [01/Jun/2007:11:29:52 +0200] [localhost/sid#26bf58][rid#1401d60/initial] (3) [per-dir D:/Web/LD/] strip per-dir prefix: D:/Web/LD/games_details.php/1487 -> games_details.php/1487
127.0.0.1 - - [01/Jun/2007:11:29:52 +0200] [localhost/sid#26bf58][rid#1401d60/initial] (3) [per-dir D:/Web/LD/] applying pattern '^games_details/([0-9]+)$' to uri 'games_details.php/1487'
127.0.0.1 - - [01/Jun/2007:11:29:52 +0200] [localhost/sid#26bf58][rid#1401d60/initial] (1) [per-dir D:/Web/LD/] pass through D:/Web/LD/games_details.php
[ Br@nkoR @ 01.06.2007. 12:40 ] @
Proveri da li na jos nekom mestu u conf fajlu nema definisan AllowOverride, ili u isti fajl httpd.conf postavi.
Code:
<Directory "D:/Web/LD">
AllowOverride All
Options +FollowSymLinks -MultiViews
</Directory>
I resetuj Apache.
Ili u krajnjem slučaju probaj sledeći RewriteRule (.htaccess)
Code:
RewriteEngine On
RewriteRule games_details(\.php)?/([0-9]+) games_details.php?game_id=$2 [L]
[ kukipei @ 05.06.2007. 09:14 ] @
Probao sam gotovo sve, i nece da radi.
A na drugim serverima radi.
Odustajem za sada
Pozdrav i hvala
[ Wizard4U @ 17.07.2008. 17:00 ] @
Skužio sam, rewrite donekle, i skoro sve mi šljaka u redu zasad, ali ima sljedeći problem!
ovo je moj .htaccess
Code:
RewriteEngine On
RewriteBase /
RewriteRule ^rubrika/([0-9]+)/?$ category.php?supercategory_id=$1 [L]
RewriteRule ^kategorija/(.*)/?$ category.php?category_id=$1 [L]
RewriteRule ^kategorija/([0-9]+)/naselje/(.*)/?$ category.php?category_id=$1&naselje_id=$2 [L]
RewriteRule ^kategorija/(.*)/regija/([0-9]+)/?$ category.php?category_id=$1®ija_id=$2 [L]
RewriteRule ^detaljnije/([0-9]+)/?$ detail.php?id=$1 [L]
RewriteRule ^(.+)\.html$ $1.php [L]
Ovaj dvostruki link mi neće da radi a kad pozovem stari link onda radi! Jel moram nešto onda promijeniti kod dohvaćanja id-a, ili?
Ovako je prije bio=> category.php?category_id=9&naselje_id=3520
A kako je sad piše gore u .htaccess-u! Jel zna netko možda u čemu bi bio problem! Izbacuje mi error=>Unknown column 'naselje' in 'where clause'
[ Nemanja Avramović @ 17.07.2008. 17:11 ] @
kategorija/(.*)/ match-uje i kategorija/([0-9]+)/naselje/(.*)/ i kategorija/(.*)/regija/([0-9]+)/ tako da će uvek njega uhvatiti a ne dva sledeća
rešenje je da kategorija/(.*)/ staviš ispod ova dva "kategorija" rewrite pravila
[ Wizard4U @ 17.07.2008. 17:22 ] @
Da, sad radi! Puno ti hvala! Daj mi sad molim te ako ti nije problem objasni zašto mora biti tako!?
[ Nemanja Avramović @ 17.07.2008. 17:57 ] @
(.*) match-uje ([0-9]+)/naselje/(.*) jer je (.*) opštije i matchuje sve a htaccess se parsira redom i prvo proba gornje linije pa donje tako da kad naiđe na (.*) on matchuje sve i ne ide dalje
a ako to staviš na kraj htaccess fajla onda će da proba prvo ova manje opšta pravila pa kad njih ne matchuje onda će da matchuje (.*)
[ Wizard4U @ 17.07.2008. 18:43 ] @
Kužim! Hvala na objašnjenju
[ Wizard4U @ 17.07.2008. 20:29 ] @
imam još jedno pitnje vezano uz rewrite!
Imam stranicu www.moja_stranica.net =>i tu mi se sa nalaze više stranica
1. www.moja_stranica.net/prva
2. www.moja_stranica.net/druga
3. www.moja_stranica.net/treća
Kako da sad taj rewrite primjenim samo na /druga a ostale ne diram!
[ Nemanja Avramović @ 17.07.2008. 20:48 ] @
ne razumem pitanje
je l' su prva/druga/treca folderi ili fajlovi ili rewrite pravila?
[ Wizard4U @ 17.07.2008. 21:04 ] @
To su folderi! U svakom mi se nalazi druga stranica! Zato pitam!
[ Nemanja Avramović @ 17.07.2008. 21:38 ] @
pa ubaci .htaccess fajl u folder gde želiš da se primenjuje rewrite
i izbaci ono rewritebase iz .htaccess fajla
ili samo promeni rewritebase u /druga/
[ Wizard4U @ 17.07.2008. 22:09 ] @
Kužim!
[ Wizard4U @ 18.07.2008. 11:22 ] @
1.Kako općenito umjesto id-a ispisati u linku ime! Znam da mogu dohvačati umjesto id-a ime, ali ime može biti isto (kod oglasa npr.).?
2.Imam register.php i ako se krivo ispuni neko polje onda ga preusmjerim na register.php?error=1 (ili 2, ili 3)
-kako da umjesto register.php?error=1 =>error/krivo-ime, i dal se može to uopče? i/ili dal mogu ga tako preusmjerit a da se uopče ne vidi gore u link baru da se promijenila adresa(tj. da je sakrivena)
[ Nemanja Avramović @ 18.07.2008. 11:45 ] @
1. Ne možeš samo ime, vidiš da i ES stavlja ID pa posle toga ime. Ova tema: http://www.elitesecurity.org/t...oblem-sa-rewrite-hiljaditi-put - ID je 263293 a posle toga ide naslov teme
2. Submituješ form (POST metodom) opet na register.php a u njemu proveriš da li ima greška i ako ima ispišeš, znači bez ikakve redirekcije.
[ dakipro @ 18.07.2008. 12:06 ] @
1. Teoretski, mozes i samo ime, ali to dodaje korak pri svakom pozivu. U posebnu tabelu ubaci se seo naziv, i neki sablon po kome se ubacuje prava putanja, recimo module=products part=show_details, id = 25 su polja u bazi, seo_name = product-tv-lcd-123. Na pocetku skripte se pokupi seo, pogleda se u bazi dal ga ima i sastavi se get prema poljima iz baze. Samo sto se naravno, pri svakom unosu/editovanju proizvoda i ostalih modula mora voditi racuna da se ne ubaci dva puta isti seo_name  Ja sam to resio tako sto ajaxom uvucem seo logiku za svaki modul, i ona pri svakom unosu seo_name polja, na onchange proveri dal je link u bazi. Ako jeste, obavesti korisnika, i ako pak on nastavi dalje onda mu doda recimo id_proizvoda-unesen-seo-name cisto kako bi se razlikovao...
Naravno da je lakse dodati identifikator modula i id kao sto es radi, znaci stavis t123-naslov-teme, p123-naziv-poruke itd, sto i nije tako tesko za forume koji imaju recimo teme, poruke i profile recimo, na malo vecem cms-u se recimo onda stvari malo komplikuju kad imas vise stranica u okviru istog modula. A naravno, cesto klijent zeli samo to i nista drugo 
2. defnitivno bez redirekcije, a mozes i preko sesije malo pipljivijim putem to da preneses, bez da muke mucis sa get-om. Zbog ovakvih stvari preferiram fuze-in-box stil programiranja radije no odvojene fajlove.
[ Wizard4U @ 29.07.2008. 12:37 ] @
Kad stavim umjesto=>RewriteRule ^kategorija/([0-9]+)/naselje/(.*)/?$ category.php?category_id=$1&naselje_safe=$2 [L]
ovo=>
RewriteRule ^(.*)/(.*)/?$ category.php?naselje_safe=$1&category_id=$2 [L]
Dizajn mi se raspadne ali ostalo radi ok!
Zašto se to događa? Ideje?
A kad dodam na početak slash=>RewriteRule ^/(.*)/(.*)/?
dizajn je u redu ali veli da ne postoji ta stranica
[Ovu poruku je menjao Wizard4U dana 29.07.2008. u 15:57 GMT+1]
[ Wizard4U @ 06.08.2008. 09:27 ] @
Evo javljam se jer od onda još nisam uspio rješiti sljedeći problem!
Ove linkove:
RewriteRule ^naselje/(.*)/(.*)/?$ index.php?exec=kategorija&naselje_safe=$1&category_safename=$2 [L]
RewriteRule ^regija/(.*)/(.*)/?$ index.php?exec=kategorija®ija_id=$1&category_safename=$2 [L]
Bih htio staviti u ovaj oblik:
RewriteRule ^(.*)/(.*)/?$ index.php?exec=kategorija&naselje_safe=$1&category_safename=$2 [L]
RewriteRule ^(.*)/(.*)/?$ index.php?exec=kategorija®ija_id=$1&category_safename=$2 [L]
Tj. tako d na početku je promjenjiva, a ne naselje ili regija! Ali to tako neće funkcionirat, tj. prvo kaj se desi je da se dizajn raspadne, a drugo da da javlja MYSQL grešku za jedan od njih jer neda su oba linka tj. da oba na početku imaju promjenjive!
Ako nitko nezna kako da stavim za oboje zamolio bih barem da mi netko objasni kako da stavim za jedan a da mi se dizajn ne raspadne?!
PS. zašto se uopče dizajn raspadne.
Puno hvala
[ Wizard4U @ 06.08.2008. 09:47 ] @
Zanimljivo, stavio sam umjesto (.*) ovo => ([a-zA-Z0-9_-]+)$ i radi! Jupi...
Ali ovo mi izbaci naša slova što je sad kod mene problem onda,a li evo objasnit ću situaciju pa možda netko skuži o čemu je riječ!
Svugdje upotrebljavam za naselja naziv bez naših slova(umjesto njih eng. tj. bez kvaćica), ali gore u headeru je Javascript location menu.
On vuče nazive naselja iz .js file-au kojem su nazivi sa našim slovima, e sad ja u bazi imam naselje (naš naziv) i naselje_safe (bez kvačica i slićno)! Jel moguće kako da se ti nazivi zamjene prije nego ovaj odabrani iz .js file-a otiđe u URL? Ili bilokji savjet ili usmjerenje kako to rješiti?
Ako netko nije skužio slobodno pitaj!
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|