Avatar billede melange Nybegynder
16. maj 2003 - 11:37 Der er 5 kommentarer og
1 løsning

Modul rewrite

Jeg har følgende lille rewrite-kode (ved ikke helt vad man kalder den) i min .htacces-fil

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^([^/]+)/?$ /index.phtml?page=$1

Dog kunne jeg godt tænke mig at udvide den lidt, så HVIS man skriver domain.dk/kat/id kalder den domain.dk/?kat=$1&id=$2, men hvis man KUN skriver domain.dk/kat kalden den KUN domain.dk/?kat=$1

Kan det lade sig gøre ? (Er ikke så voldsomt hård til det der -htaccess :) )
Avatar billede pbudk Nybegynder
16. maj 2003 - 22:34 #1
Jeg har ikke lige mulighed for at teste, men nedenstående burde virke.

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^([a-zA-Z0-9]+)$ /?kat=$1 [OR]
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /?kat=$1&id=$2 [L]
Avatar billede melange Nybegynder
16. maj 2003 - 23:24 #2
Godt nok kender jeg ikke meget til .htaccess og mod_rewrite, men en ting ved jeg:

"ikke haft mulighed for at test" + Reg.Exp = "100% sikker på fejl" ;o)

Ja, desværre virker det ikke helt, og giver mig en Error500 når jeg tester :o(
Og jeg kan ikke lige gennemskue hvor fejlen skulle ligge.
Avatar billede pbudk Nybegynder
17. maj 2003 - 23:37 #3
ja selvfølgelig, - udelad, [OR] og [L], det er jo til rewrite conditions og ikke rules, så kører det, denne gang er det testet.

Den skal sikkert finpudses, men det må du lige selv gå i lag med.
Jeg ved jo ikke, om du vil have begrænsninger i dine kat og id (feks. tal).

Den helt præcise jeg lige testede med ser sådan ud:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^([a-zA-Z0-9]+)$ /index.php?kat=$1
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /index.php?kat=$1&id=$2

Det virker fint med
http://www.domæne.dk/2
og http://www.domæne.dk/2/1

men hvis du vil have mulighed for at bruge canonical hostname skal der nok pilles lidt. :o)
Avatar billede melange Nybegynder
18. maj 2003 - 00:18 #4
Der kan man bare se :)

Det virker jo helt perfekt. Altså hvis vi ser bort fra at jeg på hele min side bruger relative stier (css, javascript, billeder, links), som jo af gode grunde slår helt fejl når adressen hedder domain.dk/kat/id i stedet for domain.dk/?kat=val1&id?val2 :)
Men så ved jeg hvad jeg kan bruge resten af natten på :)

Anyway, kan du lægge et svar så jeg kan få lukket det her spm ?
Avatar billede pbudk Nybegynder
18. maj 2003 - 10:45 #5
there you go :o)
Avatar billede pbudk Nybegynder
18. maj 2003 - 19:52 #6
husk lige at med mine ovenstående rewrite regler er det muligt at skrive:
http://www.domæne.dk/alfa/beta

Altså bogstaver i stedet for tal, og det kan måske give nogle problemer i php'en.
Det kan dog ret nemt løses rewrite mæssigt.
Sig til hvis det har relevans.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester