Pekne URL, COOL URI

Programovacie jazyky, rady, poradňa...
sINN3R
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 330
Registrovaný: 17 jún 2006, 11:21
Bydlisko: Trencin - Slovakia - EU
Kontaktovať používateľa:

Pekne URL, COOL URI

Príspevok od používateľa sINN3R »

nemoze mi niekto ukazat presny priklad ako sa to robi alebo ako to funguje... lebo mam v tom trochu zmatok som cital rozne strany a vyzera to ze mod_rewrite je naj ale trosku tazko sa v tom orientujem... dik za pomoc
carnaby
Amateur
Amateur
Príspevky: 24
Registrovaný: 23 aug 2005, 20:32
Bydlisko: Martin

mod_rewrite

Príspevok od používateľa carnaby »

napriklad

subor .htaccess

Kód: Vybrať všetko

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{QUERY_STRING}     (.+)$
RewriteRule ^([\-\_\~\,a-z0-9\/]+)$ /index.php?_REWRITE=$1&%1 [L]
RewriteRule ^([\-\_\~\,a-z0-9\/]+)/$ /index.php?_REWRITE=$1&%1 [L]
</IfModule>
a v index.php si daj vypisat $_GET
tam staci spracovat _REWRITE
sINN3R
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 330
Registrovaný: 17 jún 2006, 11:21
Bydlisko: Trencin - Slovakia - EU
Kontaktovať používateľa:

Príspevok od používateľa sINN3R »

ak som tom dobre pochopil tak v tom Rule vlastne prvy argument napr. z www.xxxx.sk/id/55 je /id/55 a tym htaccess vlastne docielim to ze sa mi to interne spracuje ako podla toho druheho argumentu [resp. ze sa mi preda to /id/55 do indexu v premenej ako chcem]
AM I RIGHT ?
zaggi
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 314
Registrovaný: 04 feb 2007, 19:32

Príspevok od používateľa zaggi »

ak si to pravidiel namiesto [L] doplnis [R=301,L] tak ti skutocnu adresu bude ukazovat aj hore v prehliadaci, je to uzitocne ked chces vediet ako alebo ci mas pravidla nastavene tak ako si chcel, potom to jednoducho das prec
sINN3R
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 330
Registrovaný: 17 jún 2006, 11:21
Bydlisko: Trencin - Slovakia - EU
Kontaktovať používateľa:

Príspevok od používateľa sINN3R »

dik chalani pomohli ste mi :wink:
sINN3R
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 330
Registrovaný: 17 jún 2006, 11:21
Bydlisko: Trencin - Slovakia - EU
Kontaktovať používateľa:

Príspevok od používateľa sINN3R »

este mam jeden problem... mam priecinok v ktorom:
index.php
files/css/main.css
files/css/images/.*
.htaccess v ktorom je:

RewriteEngine on
RewriteCond %{REQUEST_URI} !(files/.*)
RewriteRule ^([\-\_\~\,a-z0-9\/]+)$ /index.php?page=$1&%1 [L]
RewriteRule ^([\-\_\~\,a-z0-9\/]+)/$ /index.php?page=$1&%1 [L]

nevie niekto preco mi to nechce povolit css a styl celkom... problem bude v tej podmienke :(
xivo
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 752
Registrovaný: 27 jún 2005, 22:49
Bydlisko: Slovensko
Kontaktovať používateľa:

Príspevok od používateľa xivo »

Cafte ľudia, s mod_rewrite len začínam ale akosi sa mi nedarí

url vacsinou vyzeraju
  • */index.php?idx=1
    */index.php?idx=2
    */index.php?idx=..
moj .htaccess vyzera nasledovne

Kód: Vybrať všetko

RewriteEngine on
RewriteRule ^clanok-(.*) index.php?idx=$1
Newiem podla mna by to malo byt vsetko ale aj tak to nejde :( newiete v com bude problem ?
sINN3R
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 330
Registrovaný: 17 jún 2006, 11:21
Bydlisko: Trencin - Slovakia - EU
Kontaktovať používateľa:

Príspevok od používateľa sINN3R »

podla mna mas to rewrite naopak

RewriteRule ^idx=(.*) index.php?clanok-$1

pokial som to cele dobre pochopil tak toto by malo spravit ze hocico co budem idx=nieco ----> na index.php?clanok-nieco

ale niesom si isty ci pred tym idx nema byt este nieco... sorry tiez tu mam otazku ktora na vec ktora mi nefunguje skus tak ako som ti poradil mozno pojde...
juho
Star
Star
Používateľov profilový obrázok
Príspevky: 551
Registrovaný: 11 máj 2007, 21:16

Príspevok od používateľa juho »

xivo napísal: Newiem podla mna by to malo byt vsetko ale aj tak to nejde :( newiete v com bude problem ?
a co ti vypisuje nejaku chybu? ci co ti tam nejde..
xivo
Light Professional
Light Professional
Používateľov profilový obrázok
Príspevky: 752
Registrovaný: 27 jún 2005, 22:49
Bydlisko: Slovensko
Kontaktovať používateľa:

Príspevok od používateľa xivo »

2 sinner : mal by som to mat dobre (podla tutorialu) .. skusil som aj tvoj sposob ale aj tak to nic nerobi
juho napísal:a co ti vypisuje nejaku chybu? ci co ti tam nejde..
Proste urlka su stale take iste ... napr

Kód: Vybrať všetko

http://*****.php5.sk/index.php?idx=6
pricom podla mna by tam mohlo (a aj malo) byt

Kód: Vybrať všetko

http://*****.php5.sk/index.php?clanok-6
podla tohto predpisu

Kód: Vybrať všetko

RewriteEngine on
RewriteRule ^clanok-(.*) index.php?idx=$1 
chrobakos
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 264
Registrovaný: 13 jan 2006, 0:03
Bydlisko: čo ?špiritus ?
Kontaktovať používateľa:

Re: mod_rewrite

Príspevok od používateľa chrobakos »

carnaby napísal:napriklad

subor .htaccess

Kód: Vybrať všetko

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{QUERY_STRING}     (.+)$
RewriteRule ^([\-\_\~\,a-z0-9\/]+)$ /index.php?_REWRITE=$1&%1 [L]
RewriteRule ^([\-\_\~\,a-z0-9\/]+)/$ /index.php?_REWRITE=$1&%1 [L]
</IfModule>
a v index.php si daj vypisat $_GET
tam staci spracovat _REWRITE
tiez v mod_rewrite som este nerobil ...toto co si napisal mi prekonvertuje url www.web.sk/id/5
na url www.web.sk/index.php?id=5

?? trosku viac vysvetlenia poprosim ak mi ho niekto moze poskytnut :) na gugli som nasiel kopu anglickych textov po ktorych som mal stale vela otazok :)
sINN3R
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 330
Registrovaný: 17 jún 2006, 11:21
Bydlisko: Trencin - Slovakia - EU
Kontaktovať používateľa:

Príspevok od používateľa sINN3R »

nevie niekto preco ked si dam kliknem na stranke na odkaz www.web.sk/x/y tak ked znova na ten odkaz kliknem tak sa mi to nabaluje na www.web.sk/x/x/y etc.... ?
.htaccess

Kód: Vybrať všetko

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !files\/.*$
RewriteRule ^([a-z0-9]+)$ index.php?list=$1 [L]
RewriteRule ^([a-z0-9]+)/([a-z0-9]+)$ index.php?list=$2&mainlist=$1 [L]
zaggi
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 314
Registrovaný: 04 feb 2007, 19:32

Príspevok od používateľa zaggi »

html kod toho odkazu? <a href....
sINN3R
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 330
Registrovaný: 17 jún 2006, 11:21
Bydlisko: Trencin - Slovakia - EU
Kontaktovať používateľa:

Príspevok od používateľa sINN3R »

uz som to vyriesil inak proste kazdy odkaz potom musi zacinat "/"
chrobakos
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 264
Registrovaný: 13 jan 2006, 0:03
Bydlisko: čo ?špiritus ?
Kontaktovať používateľa:

Príspevok od používateľa chrobakos »

ta to tu napis ako co ma byt a vysvetli ..dakujem vopreed :)
sINN3R
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 330
Registrovaný: 17 jún 2006, 11:21
Bydlisko: Trencin - Slovakia - EU
Kontaktovať používateľa:

Príspevok od používateľa sINN3R »

no ten moj vyzera asi takto zatial :

Kód: Vybrať všetko

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^files\/.*$
RewriteRule ^([a-z0-9_]+)/?$ index.php?list=$1 [L]
RewriteRule ^clubs\/([0-9]|[1-9][0-9]+)/?$ index.php?list=clubs_info&id=$1 [L]
RewriteRule ^admin\/([a-z0-9]+)/?$ index.php?list=admin_$1 [L]
RewriteRule ^[a-z0-9]+\/([a-z0-9]+)/?$ index.php?list=$1 [L]

ErrorDocument 403 /index.php
ErrorDocument 404 /index.php
ErrorDocument 500 /index.php
ten base tam asi ani nemusi byt
potom ta podmienka RewriteCond ti hovori to ze pokial je splnena podmienka tj ze to co ziadas tj www.lala.sk/TOTO je podla regularneho vyrazu rozne od files/nieco.....
potom sa vykonavaju jednotlive pravidla pre prepis treba si ich dobre zoradit tj napr ked chces prepisovat nieco kratsie a potom dlhsie tak treba dat kratsie dopredu aby si si to neprepisal inak ako chces

Kód: Vybrať všetko

RewriteRule ^([a-z0-9_]+)/?$ index.php?list=$1 [L]
znamena ze prepis vsetko co pozostava z 1 slova zlozeneho z a-z a 0-9 a _ minimalne 1 znak tam musi byt to je to + a moze ale nemusi to slovo koncit na / to je ten ? znamena 0 alebo 1 teraz to co mas v oblych zatvorkach sa da ako $1 keby si tam mal dalsie zatvorky a dalsi regularny vyraz tak to by si mal $2 to index.php?list=$1 znanema ze sa to da to index.php do premenej list a [L] ze sa uz nevykonavaju dalsie prikazy dalsie prepisovania

podstate potrebujes len vediet regularne vyrazy a trochu tuto syntax a google ked si nevies poradit tu je este jedna dobra stranka na to cele:

Kód: Vybrať všetko

http://www.samuraj-cz.com/clanky/webdesign/pekne-adresy-aneb-cool-uri-aneb-apache-mod-rewrite/
to s tymi ErrorDocument znamena ze ked napr. neni stranka na serveri najdena tak ta to presmeruje na index.php

asi vsetko hadam som ti dako pomohol
shanoy
Star
Star
Používateľov profilový obrázok
Príspevky: 509
Registrovaný: 30 sep 2006, 8:02
Bydlisko: Brezovapolis
Kontaktovať používateľa:

Re: Pekne URL, COOL URI

Príspevok od používateľa shanoy »

dobry den,
prosim ja by som potreboval nejako spravit cez mod rewrite to, ze ked zadam adresu www.nieco.sk/omne.php ze tvar url bude mat: www.nieco.sk/omne/ ... a podobne www.nieco.sk/kontakt.php ze URL bude www.nieco.sk/kontakt/ ...ako na to? dakujem
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Pekne URL, COOL URI

Príspevok od používateľa audiotrack »

RewriteRule ^kontakt$ kontakt.php [L,QSA]
shanoy
Star
Star
Používateľov profilový obrázok
Príspevky: 509
Registrovaný: 30 sep 2006, 8:02
Bydlisko: Brezovapolis
Kontaktovať používateľa:

Re: Pekne URL, COOL URI

Príspevok od používateľa shanoy »

diky moc
Laciman
Novice
Novice
Príspevky: 1
Registrovaný: 14 feb 2012, 16:08

Re: Pekne URL, COOL URI

Príspevok od používateľa Laciman »

Zdravim,
mam web rieseny tak, ze vsetko spracovavam cez index.php, na zaklade GET parametra sa mi v obsahovom css kontajneri vykona pozadovana funkcia,
mam parameter p2, ktory je nazvom stlpca v mysql
a parameter p3, ktory je nazvom suboru bez pripony, co sa ma includovat

odkazy mam robene <a href="?p2=kategoria"> a <a href="?p3=subor">

viete mi poradit ako na takyto system urobit cool url?
Napísať odpoveď