Avatar billede Slettet bruger
25. marts 2005 - 17:57 Der er 7 kommentarer

Rewrite problem

Hej

Jeg skal rewrite request på *.avi (og lignende) i et underbibliotek på et webhotel. Mod_rewrite er understøttet.

Underbiblioteket er http://www.domæne.tld/download/ og filen som der skal rewrites til ligger i mappen og hedder download.php.

Det er så meningen at requests på /download/fil.avi skal rewrites til http://www.domæne.tld/download/download.php?file=fil.avi og så fremdeles

Jeg har forsøgt en masse regler, men ender altid med apache der fortæller mig at filen ikke findes eller jeg ikke har rettigheder til at se den (prøver både download.php og index.php som findes i /download/ mappen).

Jeg er nået frem til følgende
RewriteEngine On
RewriteRule ([^.]+.(rar|mp3|avi|wmv)) http://www.domæne.tld/download/download.php?file=$1 [R,NC]

Jeg har også prøvet med følgende ind i mellem linjerne
RewriteCond %(URI_REQUEST) !^/download/download.php [NC]
RewriteCond %(URI_REQUEST) !^/download/index.php [NC]

Men det giver altså de sære resultater.

Da webhosten vil prøve at sætte dem ind i opsætningen af mit webhotel ville det være rart hvis det kunne løses med meget få forsøg; med andre ord, søger nogle personer der kan lave nogle regler de ved virker :)
Avatar billede rasmusbg Nybegynder
26. marts 2005 - 00:49 #1
Hmm...Jeg vil skyde på, at der mangler en

Option FollowSymLinks

lige før "RewriteEngine On"-linien.

Mener nemlig jeg bankede hovedet mod samme problem, da jeg skulle igang med at rode med mod_rewrite, og der var det løsningen ;)
Avatar billede Slettet bruger
26. marts 2005 - 13:27 #2
Resultat:
The server encountered an internal error and was unable to complete your request.

I hvert fald hvis jeg prøver i en .htaccess fil
Avatar billede rasmusbg Nybegynder
26. marts 2005 - 14:42 #3
I dit webhotels conf-fil skal der være en

AllowOverride Options

før du kan få lov til at bruge "Option FollowSymLinks".

Så du skal bede din webhost om at sætte "AllowOverride"-linien ind i opsætningen af dit webhotel.
Avatar billede Slettet bruger
28. marts 2005 - 20:16 #4
Ingen eksperter til stede?

Webhosten er ved at undersøge muligheden for at sætte det i en .htaccess så lidt tyder jo på at den ikke er der lige nu

Så nu mangler jeg bare at få lavet en regel der med garanti vil virke
Avatar billede rasmusbg Nybegynder
29. marts 2005 - 11:27 #5
På denne side:

http://httpd.apache.org/docs/mod/mod_rewrite.html

næsten i bunden står flg.:

"Note: To enable the rewriting engine for per-directory configuration files you need to set ``RewriteEngine On'' in these files and ``Options FollowSymLinks'' must be enabled. If your administrator has disabled override of FollowSymLinks for a user's directory, then you cannot use the rewriting engine. This restriction is needed for security reasons."

Derfor hvis det skal bruges i en .htaccess, så skal din webhost sørge for, enten at han sætter Option FollowSymLinks, eller at han giver dig mulighed for at sætte Option FollowSymLinks.

Hvis det ender med, at du vil bruge .htaccess, skal du i denne fil skrive flg.:

Option FollowSymLinks
RewriteEngine On
RewriteRule /download/(\w+\.(rar|mp3|avi|wmv)) /download/download.php?file=$1 [R,NC]

Og denne fil skal du gemme i din webrod.

Hvis du derimod får din webhost til at skrive det i sin httpd.conf, burde det være nok at skrive flg.:

RewriteRule /download/(\w+\.(rar|mp3|avi|wmv)) /download/download.php?file=$1 [R,NC]
Avatar billede Slettet bruger
29. marts 2005 - 16:45 #6
Jeg har mailet lidt frem og tilbage med webhosten og er kommet frem til det nok er nemmere at bruge en mappe uden for webscopet og så lade php hente der fra. Det fjerner også mulighed for at lave fejl så filerne kan leeches, så jeg holder mig til den løsning indtil videre :)

Men som en sidenote har jeg fået at vide at en R (fra [R,NC]), aka rewrite, er en 301 og derfor skal skrives med fuld sti (host og hele skidtet) :)

Men tak for hjælpen!
Avatar billede rasmusbg Nybegynder
29. marts 2005 - 16:50 #7
Okay, det var jeg ikke klar over. Det har bare været ren held de gange, jeg har brugt R, at det har virket :D
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