14. august 2003 - 18:33Der er
12 kommentarer og 1 løsning
Et Rewrite script
Jeg har prøvet at kigge lidt på nogle mod_rewrite eksempler og jeg kan da godt finde ud af at bruge eksemplerne, men når jeg selv har en problemstilling som jeg ikke kan finde nogle direkte eksempler til, så går jeg kold :D
Derfor håber jeg på lidt hjælp...
Jeg vil gerne have at når man kalder /side/underside/1010/ så kommer man til f.eks. index.php?page=side&uside=underside&id=1010 Det i sig selv er ikke noget stort problem, men jeg vil også have det sådan at hvis man kalder /side/ så kommer man til index.php?page=side
Dvs. underside og 1010 behøver ikke at være der.
Kan dette lade sig gøre?
Det ville ikke gøre noget hvis man på en måde sørgede for at nr. 3 (altså 1010) var et tal.
Ok, det var også den metode jeg selv havde tænkt på, men jeg håbede på en lidt bedre metode ;) Men hvis der ikke er andre muligheder, så må jeg vel tage til takke med den :)
[R] gør at urlen bliver til "index.php?page=en/lille/test" fjerner du [R] forbliver urlen som den blev kaldt, altså domain.dk/en/lille/test (men kan stadig trækkes ned med $_GET['page'])
og RewriteBase... tror du får den bedste forklaring fra apache's side ;o)
The RewriteBase directive explicitly sets the base URL for per-directory rewrites. As you will see below, RewriteRule can be used in per-directory config files (.htaccess). There it will act locally, i.e., the local directory prefix is stripped at this stage of processing and your rewriting rules act only on the remainder. At the end it is automatically added back to the path.
When a substitution occurs for a new URL, this module has to re-inject the URL into the server processing. To be able to do this it needs to know what the corresponding URL-prefix or URL-base is. By default this prefix is the corresponding filepath itself. But at most websites URLs are NOT directly related to physical filename paths, so this assumption will usually be wrong! There you have to use the RewriteBase directive to specify the correct URL-prefix.
Notice: If your webserver's URLs are not directly related to physical file paths, you have to use RewriteBase in every .htaccess files where you want to use RewriteRule directives.
takker for points, er glad for at kunne hjælpe ;o)
Synes godt om
Ny brugerNybegynder
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.