Regular expression i htaccess regex, PCRE, POSIX, upotreba Apache .htaccess , mod_rewrite |
|
Alati teme | Način prikaza |
28. 01. 2008. | #1 |
član
Na probnom radu
Datum učlanjenja: 28.01.2008
Poruke: 30
Hvala: 10
0 "Hvala" u 0 poruka
|
Htaccess, mod_rewrite problem
Htaccess fajl mi izgleda ovako:
Kôd:
RewriteEngine On RewriteBase /fitness/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+[^/])$ $1/ [R,L] RewriteRule ^(.+)/(.+)/$ index.php?sta=$1&id=$2 [L,QSA] RewriteRule ^(.+)/$ index.php?sta=$1 [L,QSA] Zahvaljujem. |
29. 01. 2008. | #2 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Tvoj browser nije svestan mod rewrite zavrzlama pa putanje računa relativno u odnosu na lokaciju koju je dobio.
Možeš da koristiš u html-u base tag i href atribut (u head sekciji) da pomogneš browseru u orijentaciji, ili da putanje navodiš relativno u odnosu na root sajta (adresu počneš sa '/'). |
"Hvala" noviKorisnik za poruku: |
29. 01. 2008. | #3 | ||
član
Na probnom radu
Datum učlanjenja: 28.01.2008
Poruke: 30
Hvala: 10
0 "Hvala" u 0 poruka
|
Citat:
Citat:
../kategorija/IDovdje/Naziv-ovdje-ide/ dakle: ?sta=kategorija&id=IDbroj&naziv=naziv-ovdje-ide, ovako je u htaccessu: RewriteRule ^(.+)/(.+)/$ index.php?sta=$1&id=$2&naziv=$3 [L,QSA] |
||
29. 01. 2008. | #4 |
član
Na probnom radu
Datum učlanjenja: 28.01.2008
Poruke: 30
Hvala: 10
0 "Hvala" u 0 poruka
|
Pošto neće edit moram novi post:
Skontao sam neke stvari. Da bi mi pomogao moram ti opisati kako radi skripta kompletna. Imam tabelu "lokacije" u kojoj imam "url", "inc". I sad u ako je "url" kategorije, "inc" je kategorije.php I sad npr. kad otvorim ?url=kategorije includa kategorije.php u posebnu tabelu, i tu mogu odabrati ko ima pristup administrator,logovani korisni,gost i tako. I sad ja kad otvorim ovako: http://localhost/fitness/kategorija/7/riba/ dobijem poruku: Warning: Smarty::include() [function.include]: Failed opening '' for inclusion (include_path='.;\xampp\php\pear\') in C:\xampp\htdocs\fitness\libs\Smarty.class.php on line 1925 Dakle, ne radi mi ono $inc , a taj isti $inc dobijam, ovako: "SELECT * FROM lokacije WHERE url='$spremi' AND tip='site'", a $spremi = $_GET["sta"] , dakle dobijam podatke o lokaciji WHERE url='$spremi', a $spremi treba da bude ono ?sta=nesto i sad da gleda u tabeli lokacije... I kad odem echo $spremi; a u browseru mi je otvoreno http://localhost/fitness/kategorija/7/riba/ $spremi izgleda ovako: kategorija/7/riba i normalno je da mi nece da includa jer tamo ne moze da dobije podatke o lokaciji (koji fajl ce includati i sl.), ne znam otkud mi se to javlja... a nece mi sad ni ..&id=nesto da otvori tj ../nesto/id/ Tako da bi trebalo rjesiti problem oko $spremi . Moze biti problem do htacces fajla pa lose skonta ono ?sta=.. pa spoji u jedno tj u ovo "sta" |
29. 01. 2008. | #5 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Evo predlog da uradiš to jednostavnije.
RewriteRule ^(.+)$ index.php?path=$1 [L,QSA] Jedno jedino pravilo umesto više. Ostalo radi php. $_PATH = explode ('/', $_GET ['path']); Dobiješ niz 'direktorijuma' putanje, pa onda odluči u samoj aplikaciji kakvu semantiku ćeš da dodeliš pojedinim članovima niza. |
"Hvala" noviKorisnik za poruku: |
29. 01. 2008. | #6 | |
član
Na probnom radu
Datum učlanjenja: 28.01.2008
Poruke: 30
Hvala: 10
0 "Hvala" u 0 poruka
|
Citat:
Hvala puno!! |
|
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
mod_rewrite i problem sa putanjama | Marko Medojevic | Sva početnička pitanja | 6 | 20. 11. 2008. 15:39 |
[mod_rewrite] - Problem sa brojem parametara | mb_sa | Regular expression i htaccess | 4 | 09. 03. 2008. 20:10 |
problem sa mod_rewrite... | krcko | Regular expression i htaccess | 5 | 08. 06. 2007. 04:03 |
mod_rewrite problem | McChoban | Regular expression i htaccess | 8 | 26. 08. 2006. 16:13 |
.htaccess problem | Dragan Babić | Regular expression i htaccess | 3 | 26. 10. 2005. 14:03 |