DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > Regular expression i htaccess
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

Regular expression i htaccess regex, PCRE, POSIX, upotreba Apache .htaccess , mod_rewrite

Odgovori
 
Alati teme Način prikaza
Staro 23. 06. 2009.   #1
Miroslav
član
Certified
 
Datum učlanjenja: 26.12.2006
Poruke: 70
Hvala: 12
1 "Hvala" u 1 poruci
Miroslav is on a distinguished road
Default mod_rewrite radi na statičkim fajlovima, ne i na dinamičkim

Ovako izgleda moj .htaccess fajl:
Kôd:
ErrorDocument 404 /404.php

RewriteEngine on
RewriteRule /shop/?sif=109 /shop/kategorija/109
RewriteRule index03.html index04.html
Problem je što RewriteRule radi kad je u pitanju preusmeravanje sa index03.html -> index04.html, dok u prvom slučaju ne.

Da li možda neko zna u čemu je problem?

Unapred hvala.
Miroslav je offline   Odgovorite uz citat
Staro 23. 06. 2009.   #2
Peca
Super Moderator
Knowledge base
 
Datum učlanjenja: 02.10.2006
Lokacija: Niš
Poruke: 1.618
Hvala: 263
275 "Hvala" u 104 poruka
Peca će postati "faca" uskoroPeca će postati "faca" uskoroPeca će postati "faca" uskoro
Default

verovatno u znaku '?' koji u regular-expression oznacava 'moguci karakter'
probaj da ga escape-ujes sa \?

znaci:
RewriteRule /shop/\?sif=109 /shop/kategorija/109
__________________
Vesti | MyCity | Igrice | Zaštita od virusa
Peca je offline   Odgovorite uz citat
Staro 23. 06. 2009.   #3
mileusna
Super Moderator
Knowledge base
 
Datum učlanjenja: 21.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
mileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobar
Default

Za svaki slučaj isključi MultiViews opciju na Apaču, ona je najčešći razlog za pravljenje nesporazuma.
mileusna je offline   Odgovorite uz citat
Staro 24. 06. 2009.   #4
miks
član
Certified
 
Datum učlanjenja: 24.02.2009
Poruke: 55
Hvala: 0
11 "Hvala" u 7 poruka
miks is on a distinguished road
Default

Citat:
Originalno napisao Miroslav Pogledajte poruku
Ovako izgleda moj .htaccess fajl:
Kôd:
ErrorDocument 404 /404.php

RewriteEngine on
RewriteRule /shop/?sif=109 /shop/kategorija/109
RewriteRule index03.html index04.html
Problem je što RewriteRule radi kad je u pitanju preusmeravanje sa index03.html -> index04.html, dok u prvom slučaju ne.

Da li možda neko zna u čemu je problem?

Unapred hvala.
Mislim da bi trebalo da bude nesto slicno sledece:

Kôd:
RewriteRule /shop/\?sif=(\d+) /shop/kategorija/$1 [NC,L]
miks je offline   Odgovorite uz citat
Staro 24. 06. 2009.   #5
Miroslav
član
Certified
 
Datum učlanjenja: 26.12.2006
Poruke: 70
Hvala: 12
1 "Hvala" u 1 poruci
Miroslav is on a distinguished road
Default

Nažalost ništa od ovoga neće da radi. Samo mi izbaci 404 grešku.

Kad izbacim "MultiViews"
Kôd:
Options -MultiView
onda mi javi 500 grešku.

U svakom slučaju problem sam rešio u samom PHP-u:
Kôd:
header("HTTP/1.1 301 Moved Permanently");
header("Location: novi_url");
Kažu da je i ova metoda "Google friendly".
Međutim, malo me je zbunilo što stara strana koja ima PR 3 izgubi taj PR pri redirekciji na novu, a kaže se da 301 redirekcija služi najviše za to... da se zadrži stari PR.

Ono što mi je još zanimljivije kad uradim samo običan header
Kôd:
header("Location: novi_url");
dakle bez 301, PR ostane isti. Samo što u ovom slučaju imamo dupliran sadržaj.

Poslednja izmena od Miroslav : 24. 06. 2009. u 11:25. Razlog: Dopuna.
Miroslav je offline   Odgovorite uz citat
Staro 24. 06. 2009.   #6
mileusna
Super Moderator
Knowledge base
 
Datum učlanjenja: 21.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
mileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobar
Default

Mislim da ne možeš tako da izbaciš MultiViews, pogledaću u toku dana. Da li je to dedicated server, imaš li pristup httpd.conf?
mileusna je offline   Odgovorite uz citat
Staro 25. 06. 2009.   #7
Miroslav
član
Certified
 
Datum učlanjenja: 26.12.2006
Poruke: 70
Hvala: 12
1 "Hvala" u 1 poruci
Miroslav is on a distinguished road
Default

Mislim da jeste "dedicated".

Poslednja izmena od Miroslav : 25. 06. 2009. u 12:36.
Miroslav je offline   Odgovorite uz citat
Staro 25. 06. 2009.   #8
mileusna
Super Moderator
Knowledge base
 
Datum učlanjenja: 21.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
mileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobarmileusna je jednostavno dobar
Default

Onda isključite MultiViews u httpd.conf ili već gde je konfigurisan sajt o kome pričaš, ako je ubačen.
mileusna je offline   Odgovorite uz citat
Staro 26. 06. 2009.   #9
Miroslav
član
Certified
 
Datum učlanjenja: 26.12.2006
Poruke: 70
Hvala: 12
1 "Hvala" u 1 poruci
Miroslav is on a distinguished road
Default

Hvala svima na odgovorima.
Da nebi više mučio administratore ovde po firmi, problem sam rešio u samom PHP-u:
Kôd:
header("HTTP/1.1 301 Moved Permanently");
header("Location: novi_url");
Miroslav je offline   Odgovorite uz citat
Staro 26. 06. 2009.   #10
bOkIcA
Bojan Abramovic
Professional
 
Datum učlanjenja: 17.01.2008
Lokacija: Novi Sad
Poruke: 232
Hvala: 30
47 "Hvala" u 30 poruka
bOkIcA će postati "faca" uskoro
Default

Tu je jako diskutabilo sta si u stvari hteo da postignes.

Da li zelis da ti linkovi budu /shop/kategorija/109 a da ih interno docekuje program pod /shop/index.php?sif=109 ?

Ako je tako onda ti treba nesto poput:
Kôd:
RewriteRule /shop/kategorija/(\d+) /shop/index.php?sif=$1 [NC,L]
Ako zelis da radis stalnu redirekciju linkova onda koristis flag [R=301,L]
gde R znaci da je u pitanju redirekcija a L znaci poslednja stavka.
Kôd:
RewriteRule index03.html index04.html [R=301,L]
Iskreno, deluje mi kao da si obrnuo stvari.
bOkIcA je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Dinamički Title stranice marijano PHP 3 01. 04. 2009. 21:56
Apache, PHP i vlasništvo nad fajlovima noviKorisnik Sva početnička pitanja 13 27. 10. 2008. 19:16
Prebacivanje statičnog HTML site-a na WP blackshtef Marketing i SEO 23 24. 07. 2008. 01:54
mod_rewrite u podfolderu radi a na subdomain-u ne!? shoba Regular expression i htaccess 7 18. 04. 2007. 13:38
Shared hosting za statičke stranice. Dragi Tata Web Hosting, web serveri i operativni sistemi 3 11. 02. 2007. 16:38


Vreme je GMT +2. Trenutno vreme je 01:08.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.