Avatar billede aerobee Nybegynder
12. januar 2010 - 08:51 Der er 6 kommentarer og
1 løsning

pretty urls, erstat ? & med /

Hej Eksperter
Jeg har følgede kode:

RewriteRule ^([-0-9A-Za-z]+)(/)?$ /index.php?submenu=$1

Og den virker jo helt fint. Men hvad nu hvis jeg gerne vil køre den endnu et niveau ud ?

Fx ovenstående rule laver min url om fra:
site.com/index.php?submenu=kontakt
til
site.com/kontakt

Men hvis jeg nu vil gøre det sådan her:
site.com/index.php?submenu=kontakt&afdeling=it
til
site.com/kontakt/it

Hvordan kan jeg så vidre udbygge ovenstående rule ?
Avatar billede nicklasb Nybegynder
12. januar 2010 - 09:20 #1
RewriteRule ^([-0-9A-Za-z]+)/([-0-9A-Za-z]+)(/)?$ /index.php?submenu=$1&afdeling=$2
RewriteRule ^([-0-9A-Za-z]+)(/)?$ /index.php?submenu=$1
Avatar billede aerobee Nybegynder
12. januar 2010 - 19:17 #2
Hej Niclas
Ja det ser ud til at virke.
Men har dog nu fået et problem.
RewriteRule ^([-0-9A-Za-z]+)(/)?$ /index.php?submenu=$1 kører fint som altid og virker. Bruger jeg så RewriteRule ^([-0-9A-Za-z]+)/([-0-9A-Za-z]+)(/)?$ /index.php?submenu=$1&afdeling=$2 forsvinder designet - altså, som om at links til mit stylesheet ikke længere er korrekt.

Nogle ideer ?
Avatar billede nicklasb Nybegynder
12. januar 2010 - 20:08 #3
Hvad er linket til dit stylesheet? (Altså, hvad står der i src="..." ?)
Hvis ikke det er linket til CSSen der fejler, må du eventuelt lige smide et link til siden (hvis det er muligt)
Avatar billede aerobee Nybegynder
14. januar 2010 - 16:47 #4
det er bare en relative url fra sidens rod
"includes/css/style.css"
Ændre jeg linket til min css virker det fint.
Det er som om at mappe niveauet ændres når der bruges mod_rewrite og man går dybere end 1 querystring.

Altså, skriver man "site.com/kontakt" virker det fint, inkl. css.
Men skriver man "site.com/kontakt/it" er det som om linket til stylesheetet ikke længere er korrekt. Ændrer jeg så linket funker det igen, med url'en "site.com/kontakt/it" men ikke med "site.com/kontakt" eller "site.com"

Håber det er forståeligt
Avatar billede aerobee Nybegynder
14. januar 2010 - 16:48 #5
ps: beklager mit sene svar, men jeg havde ikke fået en email omkring du havde kommenteret :)
Avatar billede nicklasb Nybegynder
14. januar 2010 - 17:22 #6
Hvis du har src="includes/css/style.css" tager den selvfølgelig CSSen relativt i forhold til den sti dokumentet er hentet fra - altså i dine eksempeler /kontakt/includes/css/style.css og /kontakt/it/includes/css/style.css.
Prøv at skrive stien til CSSen i forhold til din rod - altså udskrift src="includes/css/style.css" med src="/includes/css/style.css" (altså med en "/" først i stien).

Jeg er ikke sikker på at jeg forstår det korrekt - er det meningen at hver side underside har sin egen CSS?
Avatar billede aerobee Nybegynder
14. januar 2010 - 17:34 #7
Ja selvfølgelig. / manglede. Indlysende fejl.
Tak for hjælpen du :)
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