mboost-dp1

Mod_Rewrite med 2 GET variabler


Gå til bund
Gravatar #1 - MathiasLM
19. feb. 2010 17:04
Jeg har kigget på nettet i timer, dage, uger for at finde en løsning på mit ellers relativt simple problem, uden held.

Min side er opbygget som så:

side.dk/?p=one
side.dk/?p=two
side.dk/?p=three
side.dk/?p=four


På den anden siden bliver en ny variabel introduceret:

side.dk/?p=two&place=one

Der er over 200 af disse undersider, så dem vil jeg ikke liste op her :)
-----

Jeg har prøvet en masse forskellige ting, men det her er dog det tætteste jeg er kommet:

RewriteRule ^([^/\.]+)/?$ ?p=$1 [L]


Det får den første variabel til at virke delvist.
Forstået på den måde, at

side.dk/one virker fint, hvorimod
side.dk/one/ ikke virker.

Så har jeg prøvet at indføre den anden variabel:

RewriteRule ^([^/\.]+)/?$ ?p=$1 [L]
RewriteRule ^([^/\.]+)/([^/\.]+)?$ ?p=$1&place=$2 [L]


Dette efterlader den første variabel som før, men den anden variabel mangler stylesheets og javascripts osv., som om roden er defineret forkert.
Dette gælder således disse sider:

side.dk/two/one
side.dk/two/two
side.dk/two/three

osv...

Ideélt vil jeg opnå det samme rewrite som newz.dk, hvor man bliver automatisk redirectet således:

newz.dk/forum => newz.dk/forum/ (eller omvendt, bare det virker)
og newz.dk/forum/programmering osv.

Nogen som har forstand nok på mod_rewrite til at hjælpe mig ? :P
Gravatar #2 - MathiasLM
19. feb. 2010 18:56
Nvm, har fået det til at virke.

Løsningen er her:


RewriteRule ^([^/\.]+)/([^/\.]+)/$ ?variabel1=$1&variabel2=$2 [L]
RewriteRule ^([^/\.]+)/$ ?variabel1=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) http://www.side.dk/$1/ [R=301,L]
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login