Ik heb voor mijn rewrite nu dit:


RewriteEngine On
RewriteRule ^websites/(.*)/(.*)/(.*)/(.*) websites.php?name=$1&pageid=$2&p=$3&pp=$4
RewriteRule ^websites/(.*)/(.*)/(.*) websites.php?name=$1&pageid=$2&p=$3
RewriteRule ^websites/(.*)/(.*) websites.php?name=$1&pageid=$2
RewriteRule ^websites/(.*) websites.php?name=$1


Het is tamelijk omslachtig om voor alle dingen die ik er bij wil hebben weer een nieuwe regel te moeten schrijven. Ik vroeg me af of je op de een of andere manier ook dit kunt doen:

websites/Herjan/2/p/10/pp/25

omvormen naar:

websites.php?name=Herjan&pageid=2&p=10&pp=25

En met hetzelfde stukje code:

websites/Herjan/2/cat/3

omvormen naar:

websites.php?name=Herjan&cat=3

Eigenlijk wordt het dan dus een soort foreach/explode/whatever in een .htaccess-file.
Dit is geen bump hoor (A)

lalala!
Nee die is er niet hellaas :(
Wat nu als je alles 'doorverwijst' via mod_rewrite naar index.php, die dan weer via een van de waarden in $_SERVER (ben even vergeten welke) en explode() uitleest wat je wilt?
Ja, dat kan wel, maar dan ben ik compleet het effect van de mod_rewrite kwijt. Want dan zou je zoiets krijgen:

<?php

$others = $_GET['others'];
$others = explode('/', $others);

$name = $others[0];
$pageid = $others[1];

unset($others[0], $others[1]);

$keys = $values = array();

function even($i)
{
if(round($i/2) == $i/2)
{
return true;
}
else
{
return false;
}
}

foreach($others as $key => $value)
{
if(even($key))
{
$keys[] = $value;
}
else
{
$values[] = $value;
}
}

$others = array_combine($keys, $values);
$link = '';

foreach($others as $key => $value)
{
$link .= '&'.$key.'='.$value;
}

header('Location: websites.php?name='.$name.'&pageid='.$pageid.$link);

?>

En dan zie in de adresbalk van de browser nog steeds alle get-vars zo staan:

/websites.php?name=Herjan&pageid=10&jemoeder=5&bla=46&doei=hallo

En daar wil ik nu juist vanaf :P

[edit]Dit is mijn RewriteRule:

RewriteRule ^websites/(.*) get_maker.php?others=$1[/edit]

Reageren