Ik ben al sinds gistermiddag aan het klooien en topics (en ook de FAQ hier op GoT) aan het doorlezen, maar ik kom er niet uit. Daarom dan maar weer eens een mod_rewrite-topic.
Wat ik wil doen is, volgens mij, tamelijk eenvoudig.
Ik wil van hier:
domein.com/foo/bar/12
hier komen:
domein.com/index.php?hoofdcat=foo&subcat=bar&id=12
Daarvoor heb ik zelf de volgende set rules "bedacht":
Maar, jullie raden het al, dit werkt niet. Het vervelende is dat ik gewoon niet snap waarom niet... Ik ben een stapje terug gegaan en heb dit wel aan de praat gekregen:
van hier:
domein.com/foo/bar/12
naar hier:
domein.com/index.php?hoofdcat=foo&subcat=bar
met de volgende rules:
Het lullige is dat zelfs dit niet helemaal naar smaak werkt. Want ik wil dat dit ook werkt: domein.com/foo. En dat lukt dus niet, het werkt alleen als ik domein.com/foo/ doe (met een slash erachter dus). Ik snap dat dit komt doordat hij gaat zoeken naar een file met de naam foo, maar ik snap niet hoe ik dit moet fixen.
Op de Apache site staat dit citaat:
Wat ik wil doen is, volgens mij, tamelijk eenvoudig.
Ik wil van hier:
domein.com/foo/bar/12
hier komen:
domein.com/index.php?hoofdcat=foo&subcat=bar&id=12
Daarvoor heb ik zelf de volgende set rules "bedacht":
code:
1
2
3
4
5
| <IfModule mod_rewrite.c> RewriteEngine on RewriteRule \.(css|jpe?g|gif|png)$ - [L] RewriteRule ^([^/]*)/([^/]*)/([^/]*)(.*)$ ?hoofdcat=$1&subcat=$2&id=$3 </IfModule> |
Maar, jullie raden het al, dit werkt niet. Het vervelende is dat ik gewoon niet snap waarom niet... Ik ben een stapje terug gegaan en heb dit wel aan de praat gekregen:
van hier:
domein.com/foo/bar/12
naar hier:
domein.com/index.php?hoofdcat=foo&subcat=bar
met de volgende rules:
code:
1
2
3
4
5
| <IfModule mod_rewrite.c> RewriteEngine on RewriteRule \.(css|jpe?g|gif|png)$ - [L] RewriteRule ^([^/]*)/([^/]*)(.*)$ ?hoofdcat=$1&subcat=$2 </IfModule> |
Het lullige is dat zelfs dit niet helemaal naar smaak werkt. Want ik wil dat dit ook werkt: domein.com/foo. En dat lukt dus niet, het werkt alleen als ik domein.com/foo/ doe (met een slash erachter dus). Ik snap dat dit komt doordat hij gaat zoeken naar een file met de naam foo, maar ik snap niet hoe ik dit moet fixen.
Op de Apache site staat dit citaat:
Ik kan het daar alleen maar mee eens zijn. Wie helpt mij deze voodoo-magie te beheersen? Het gaat me dus niet alleen om een kant-en-klare oplossing, maar vooral om de uitleg erachter. Ik wil het heel graag snappen"Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. ''