[ 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&regija_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&regija_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&regija_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!