Avatar billede delphinarious Nybegynder
14. juni 2005 - 15:45 Der er 7 kommentarer og
1 løsning

URL som querystring.

Hej!

Jeg har ladet mig fortælle, at det er muligt at opsætte en server sådan, at ligegyldigt hvilken mappe man kalder under et domæne, vil den pege på index.php-filen og sende undermapperne som en slags querystring. Lad mig demonstrere:

Eksempel: http://www.ditdomæne.dk/mappe/undermappe/subsubmappe/

Eksemplet vil under normale omstændigheder pege på index.php i "subsubmappe". Men det jeg mener er, at den skal kunne pege på index.php i roden af domænet, og så skal php-filen kunne fange de mapper, der fremgår af URL'en.

Hvordan **** gør man det? :-)
Avatar billede coderdk Praktikant
14. juni 2005 - 15:59 #1
Noget i stil med dette, ikke testet, i en .htaccess:

RewriteEngine On
RewriteBase /
RewriteRule ^index.php - [L]
RewriteRule ^(.*)$ /index.php?path=$1
Avatar billede delphinarious Nybegynder
14. juni 2005 - 16:03 #2
Årh guld! Det virker! Har du noget imod at forklare koden? Du skal naturligvis nok få points.

Nu løber jeg jo så ind i et andet problem, da jeg har al grafik, include-filer, classer og sådan noget liggende i undermapper... Hvordan kan jeg så kalde dem?
Avatar billede coderdk Praktikant
14. juni 2005 - 16:05 #3
Certainly:

RewriteEngine On <- Tænder rewrite motoren
RewriteBase / <- Fortæller hvor vi vil rewrite fra
RewriteRule ^index.php - [L] <- Kaldes index.php gør vi intet, og rewrite skal stoppe
RewriteRule ^(.*)$ /index.php?path=$1 <- Alt andet får stien til at blive kaldt som path-parameteren til index.php
Avatar billede coderdk Praktikant
14. juni 2005 - 16:11 #4
Mht dit problem kan du gøre dette:

RewriteEngine On
RewriteBase /
RewriteCond {%REQUEST_URI} -f [L]
RewriteRule ^(.*)$ /index.php?path=$1

Har ikke testet, linjen:

RewriteCond {%REQUEST_URI} -f [L]

Siger at den ikke skal rewrite længere hvis filen eksisterer i forvejen...
Avatar billede delphinarious Nybegynder
14. juni 2005 - 16:11 #5
Kewl. Det var svar på mit spørgsmål. Tak skal du have.

Men kan du fortælle mig, om jeg evt. kan ligge en anden .htaccess-fil i den undermappe der indeholder mine billeder, m.v., så der kan linkes til dem, og hvordan den i så fald ville se ud?
Avatar billede delphinarious Nybegynder
14. juni 2005 - 16:14 #6
Den duer ikke... returnerer:

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Avatar billede delphinarious Nybegynder
15. juni 2005 - 08:19 #7
Ok ok - jeg tager den i et nyt spørgsmål.
Avatar billede coderdk Praktikant
23. juni 2005 - 06:23 #8
Af og til er jeg pænt stiv ;) Prøv med:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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