anoniem Geplaatst: 5 januari 2004 Delen Geplaatst: 5 januari 2004 Graag wil ik mijn URI's vereenvoudigen en ik wil dat doen met .htaccess en mod_rewrite. Het gaat om een foto-album met de vaste structuur als volgt:[list:ff2eb11ac3][*:ff2eb11ac3]directory [i:ff2eb11ac3]/kiekjes/[/i:ff2eb11ac3][*:ff2eb11ac3]albumnaam[*:ff2eb11ac3]1 of meer subalbumnamen[/list:u:ff2eb11ac3]Het grote probleem is dat er meerdere subalbums kunnen zijn, daar kom ik niet uit. In principe is de laatste naam de unieke naam van het (sub)album. Nu heb ik:[code:1:ff2eb11ac3]RewriteEngine On RewriteBase /kiekjes/ RewriteRule ^([^\.\?/]+)$ /kiekjes/view_album.php?set_albumName=$1 [QSA][/code:1:ff2eb11ac3]Allereerst een vraag hierover: waarom QSA? De volgende vraag is: hoe zorg ik ervoor dat het hele pad genegeerd wordt behalve de laatste "directory"? Dus [i:ff2eb11ac3]/kiekjes/uitgaan/odessa/[/i:ff2eb11ac3] moet hetzelfde resultaat geven als [i:ff2eb11ac3]/kiekjes/uitgaan/a/b/c/d/odessa/[/i:ff2eb11ac3] en [i:ff2eb11ac3]/kiekjes/uitgaan/a/b/c/d/odessa[/i:ff2eb11ac3]. Wat ik zelf dacht was dit:[code:1:ff2eb11ac3]RewriteRule ^[/.]*([^\.\?/]+)/?$ /kiekjes/view_album.php?set_albumName=$1[/code:1:ff2eb11ac3]Maar dit werkt helaas niet... Wie kan me helpen? Bij voorbaat dank, - Bas. Quote Link naar reactie
anoniem Geplaatst: 5 januari 2004 Auteur Delen Geplaatst: 5 januari 2004 [b:4123e44de5]UPDATE:[/b:4123e44de5] De volgende regel leek me logisch, maar ook die werkt niet...[code:1:4123e44de5]RewriteRule ([^\.\?/]+)/?$ /kiekjes/view_album.php?set_albumName=$1[/code:1:4123e44de5]- Bas Quote Link naar reactie
anoniem Geplaatst: 6 januari 2004 Auteur Delen Geplaatst: 6 januari 2004 Verplaatst van "Webdesign" naar "Servers". Quote Link naar reactie
anoniem Geplaatst: 6 januari 2004 Auteur Delen Geplaatst: 6 januari 2004 Moet het niet zoiets zijn? [code:1:63c3e3b619] RewriteRule ([^/]+)/?$ /kiekjes/view_album.php?set_albumName=$1 [/code:1:63c3e3b619] Een snelle manier om een regexp te checken is dit: [code:1:63c3e3b619] <html> <head> <title></title> </head> <body> <input type="text" value="uitgaan/a/b/odessa/d/odessa/" /> <button onclick="test()">test</button> <script type="text/javascript"> var x=document.getElementsByTagName('input')[0]; function test(){ y=/([^/]+)\/?$/.exec(x.value); alert(y); } </script> </body> </html> [/code:1:63c3e3b619] Misschien heb je er wat aan. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen