Avatar billede lars-k Nybegynder
15. september 2003 - 16:32 Der er 8 kommentarer og
2 løsninger

Rewrite alle forespørgsler

Hej

Jeg vil rewrite alle forespørgsler der ikke indeholder strengen "index.taf" til mit site. Alt efter den første slash (incl.) skal jeg som vist anvende som et argument, så det skal medtages i urlen.

Eksempler:

http://www.mysite.com/house/pics/ -- til -- http://www.mysite.com/index.taf?tl=/house/pics/

http://www.mysite.com/house/index.htm -- til -- http://www.mysite.com/index.taf?tl=/house/index.htm

Den rewritede url må selvfølgelig ikke kunne ses i browseren.

Jeg har prøvet nedenstående uden held.

RewriteCond %{REQUEST_URI} !^/index.taf
RewriteRule ^/(.+)$ http://www.mysite.com/index.taf?tl=$1 [R,L]


lars-k
Avatar billede gonza.dk Nybegynder
15. september 2003 - 17:15 #1
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^([a-zA-Z._/]+)$ /index.taf?page=$1


skulle kunne gøre det...
Avatar billede gonza.dk Nybegynder
15. september 2003 - 17:20 #2
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^([a-zA-Z._/]+)$ /index.taf?tl=$1

havde page istedet for tl som du ønskede...
Avatar billede lars-k Nybegynder
15. september 2003 - 17:28 #3
Hej

Serveren kører i løkke - efter en rewruíte hopper den jo smøren igennem igen. På en eller anden måde skal der forespørges om strengen indeholder "index.taf" - hvis ikke skal der rewrites...
Avatar billede htm Nybegynder
15. september 2003 - 18:41 #4
RewriteEngine On
Rewritebase /
RewriteCond %{REQUEST_FILENAME} !-F
RewriteCond %{REQUEST_FILENAME} !=index.taf
RewriteRule ^(.+)$ index.taf?tl=$1

Men forøvrigt burde det blive fanget af RewriteCond %{REQUEST_FILENAME} !-F der tjekker om det er en gyldig sti.

Ellers ville du nok også kunne tilføje denne:

RewriteCond %{REQUEST_FILENAME} !-f

Læs mere på: http://httpd.apache.org/docs/mod/mod_rewrite.html#RewriteCond
Avatar billede gonza.dk Nybegynder
15. september 2003 - 18:53 #5
Tjaa, den virker i hvert fald hos mig. Så ved ikke om det er dig der laver en fejl :-/
Avatar billede lars-k Nybegynder
15. september 2003 - 22:05 #6
Hej htm og gonza.dk

Det virker delvis - dvs. hvis jeg spørger direkte på eks. /testside.html så får jeg også denne side vist - altså ikke index.taf som det skal være. Hvordan klares det?

Gonza -> Ups, din løsning virkede også, så du skal selvfølgelig også have points.

lars-k
Avatar billede htm Nybegynder
15. september 2003 - 22:22 #7
Hvis filen eksisterer er det klart ;o)

Slet denne linie:
RewriteCond %{REQUEST_FILENAME} !-F

Den tjekker om den forespurgte adresse eksisterer!
Avatar billede gonza.dk Nybegynder
15. september 2003 - 22:24 #8
svar...?
Avatar billede lars-k Nybegynder
16. september 2003 - 10:01 #9
Jeg har et problem med at URL'en - når der rewrites - bliver til små bogstaver, som vores database ikke kan spise. Hvordan klares det? Jeg har prøvet med [NC] som laver alle case-insensetive - det kan jeg selvfølgelig ikke bruge. Er der noget tilsvarende, som vil beholde store og små karaktere i URL'en ved rewrite?
Avatar billede lars-k Nybegynder
16. september 2003 - 10:26 #10
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