2011-10-16 3 views
1

Comme la plupart des codeurs, j'aime prendre l'itinéraire le plus court et le plus simple pour coder quelque chose, et mod_rewrites ne fait pas exception. Je me demandais simplement s'il y avait moyen de simplifier ce code pour que je puisse l'ajouter plus facilement.pouvez-vous m'aider à simplifier cette RewriteRule?

RewriteRule ^giving-tree/([0-9+]?)/?$ giving-tree.php?ageBegin=$1 [nc] 
RewriteRule ^giving-tree/([0-9+]?)/([0-9+]?)/?$ giving-tree.php?ageBegin=$1&ageEnd=$2 [nc] 
RewriteRule ^giving-tree/([0-9+]?)/([0-9+]?)/([0-9+]?)/?$ giving-tree.php?ageBegin=$1&ageEnd=$2&page=$3 [nc] 

Fondamentalement, je juste besoin d'être en mesure de définir certaines parties en option .... Je ne sais pas s'il est possible, mais je ne pouvais utiliser que l'aide.

Répondre

0

Ce n'est pas exactement la réponse que vous cherchez, mais vous pouvez simplifier la règle de réécriture à ceci:

RewriteRule ^giving-tree/ giving-tree.php 

Et puis analyser le $_SERVER['REQUEST_URI'] dans giving-tree.php. Voici une version simple:

$parts = explode('/', $_SERVER['REQUEST_URI']); 
if(isset($parts[1]){ 
    $ageBegin = $parts[1]; 
} 
if(isset($parts[2]){ 
    $ageEnd = $parts[2]; 
} 
if(isset($parts[3]){ 
    $page = $parts[3]; 
}