prplxrMedlem sedan juni 2012582 inlägg Hejsan!
Sitter med ett litet klurigt problem. Jag har ett fotoalbum där miniatyrer av bilder listas och länkar till "den fullskaliga bilden" enligt följande mönster:
/gallery/[användarid]/[filnamn].jpg (Kan även vara andra format)
Skulle det vara möjligt att när man klickar sig fram till bilden, istället få en specifik sida presenterad istället med möjlighet till att kommentera bilden osv? Alltså, kan man med hjälp av den länken på något sätt göra så att webbläsaren istället för att hämta bilden, hämtar, låt säga, /viewGallery.php?userid=[användarid]&filename=[filnamn] ?
Detta bör man väl kunna använda URL Rewriting för? Har tittat lite på det, men är inte helt på det klara med hur det fungerar.
Tacksam för att hjälp!
metalboyMedlem sedan jan. 2005953 inlägg Det är absolut möjligt, och det är en inställning i webservern (inte PHP).
Om du använder Apache som webserver så heter modulen för detta mod_rewrite, och du kan t.ex. använda en .htaccess-fil som du lägger i din webroot.
RewriteEngine
RewriteCond %{REQUEST_FILENAME} !-d # Matcha inte befintliga mappar
RewriteCond %{REQUEST_FILENAME} !-f # Matcha inte befintliga filer
RewriteRule /gallery/(.*?)/(.*?).jpg /viewGallery.php?userID=$1&filename=$2 [L]
prplxrMedlem sedan juni 2012582 inlägg Tack för snabbt svar!
Jag har kikat efter mod_rewrite-modulen, men kan ta mej tusan inte hitta den. Och, ja, jag kör Apache 2.2.22 (wamp). Kan ej hitta mod_rewrite i listan över moduler. Är det något man behöver installera i efterhand?
----[ EDIT ]---------------------
Sorry, den stod som "rewrite_module" i wamp, det var därför jag inte hittade den. Ska testa nu!
RewriteEngine On ska det stå på första raden, annars funkar det inte.
prplxrMedlem sedan juni 2012582 inlägg
nitro2k01 skrev:
RewriteEngine On ska det stå på första raden, annars funkar det inte.
Sant, men det är fortfarande något som inte vill sig. Får Internal Server Error (500). Ska kika i loggarna lite.
----[ EDIT ]------------------------
Såhär säger den:
RewriteCond: bad flag delimiters
Jag är inte heller helt säker på att du kan ha en kommentar på samma rad som (alltså efter) ett kommando.
prplxrMedlem sedan juni 2012582 inlägg
nitro2k01 skrev:
Jag är inte heller helt säker på att du kan ha en kommentar på samma rad som (alltså efter) ett kommando.
You, sir, are correct. När jag lagt kommentarerna på separata rader får jag inget felmeddelande, men å andra sidan händer ingenting nu. Läser så ögonen blöder och ska se om jag inte kan fixa detta nu.
----[ EDIT ]------------
Nej, det händer ingenting nu. Jag har testat att ta bort ! framför d och f-flaggorna. Filen som länkas till existerar alltså, men jag vill inte att servern bara ska hämta den utan alltså trots att filen finns så ska den rewrita.
Bort med det första snedstrecket tror jag. Och för övrigt ett par andra justeringar. Återkommer med bättre förklaring senare.
RewriteRule ^gallery/([^/]+)/([^/]+).jpg$ /viewGallery.php?userID=$1&filename=$2 [L]
prplxrMedlem sedan juni 2012582 inlägg
nitro2k01 skrev:
Bort med det första snedstrecket tror jag. Och för övrigt ett par andra justeringar. Återkommer med bättre förklaring senare.
RewriteRule ^gallery/([^/]+)/([^/]+).jpg$ /viewGallery.php?userID=$1&filename=$2 [L]
Du är ju för gullig! Tusen tack!
metalboyMedlem sedan jan. 2005953 inlägg Om omskrivningen ska göras även för befintliga filer kan du ta bort raderna med RewriteCond helt och hållet.
prplxrMedlem sedan juni 2012582 inlägg
metalboy skrev:
Om omskrivningen ska göras även för befintliga filer kan du ta bort raderna med RewriteCond helt och hållet.
Jag insåg det efter ha spenderat lite intim tid med Apaches manual för mod_rewrite, men tack för tipset! Det var alltså såhär som du föreslog som jag gjorde i slutändan.
Stort tack till er båda!