Bekijk Volledige Versie : apache mod_rewrite rules
Ik wil het volgende laten werken:
Via domain.nl/m<id> of domain.nl/v<id> uit laten komen op profile.php
Deze link is dan inprincipe virtueel gelinkt aan het bestand profile.php
Ik heb het volgende geprobeerd en me ook rot gezocht in apache naar een oplossing, krijg het alleen nog (steeds) niet voor elkaar.
IndexIgnore *
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.nl/m* [OR]
RewriteCond %{HTTP_HOST} ^www.domain.nl/v*
RewriteRule ^(.*) http://www.domain.nl/profile.php?ID=$1
Degene die voor mij het werkende antwoord heeft krijgt van mij een lekker koud biertje.
V. Kleijnendorst
12/04/05, 22:59
# multiviews gaan voor rewrite rules, hier voor de zekerheid uit dus
Options -Multiviews
RewriteEngine On
RewriteRule ^m([a-zA-Z0-9_]*)$ /profiel.php?id=$1 [NC,L]
RewriteRule ^v([a-zA-Z0-9_]*)$ /profiel.php?id=$1 [NC,L]
Kijk dat werkt! Zit enkel nog met het probleem dat de variabel $1 niet word vervangen door het <id> wat word ingevuld (bv: domain.nl/m11), maar dat is meer een vraag voor de programma makers lijkt mij.
Hoe gaan we het biertje oplossen? Echt hartstikke bedankt!
RewriteEngine On
RewriteRule ^(.*)/fotoboek/$ /fotoboek/album.php?mem=$1 [L,QSA]
RewriteRule ^(.*)/fotoboek$ /fotoboek/album.php?mem=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /members/member.php?mem=$1 [L,QSA]
werkt dus als bijv: domein.nl/nickname
en de eerste 2 regels zijn voor
domein.nl/nickname/fotoboek
de QSA staat voor _POST variable enzo
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
de bovenste 2 bekijken of de map toevallig bestaat... dan heeft dat voorrang :)
V. Kleijnendorst
12/04/05, 23:19
ik houd toch niet zo van bier :p
Komt domain.nl/m11 niet binnen als domain.nl/profiel.php?id=11?
Ik probeerde de regel hier net en dat lijkt te werken...
Je kunt het voor de zekerheid even zo testen:
<pre>
<?php
print_r($_GET);
echo '<hr />';
print_r($_SERVER);
?>
</pre>
als ik domain.nl/m30 invul, kom ik uit op domain.nl/profile.php?id=$1 uit. Deze linkt op zijn beurt gewoon weer naar profile.php, de $1 variabel zorgt er niet voor dat m30 word geforward naar profile.php?id=30
Het is helemaal opgelost, HOOFDLETTER kwestie... helaas heeft dat ook nog invloed :)
2 rulez extra er bij zetten dan he
RewriteRule ^M([a-zA-Z0-9_]*)$ /profiel.php?id=$1 [NC,L]
RewriteRule ^V([a-zA-Z0-9_]*)$ /profiel.php?id=$1 [NC,L]
RewriteRule ^m([a-zA-Z0-9_]*)$ /profiel.php?id=$1 [NC,L]
RewriteRule ^v([a-zA-Z0-9_]*)$ /profiel.php?id=$1 [NC,L]
als je deze gebruikt rulez gebruikt. en in je php script dan lowercase laten maken :) Mits het geen getallen zijn ;)