.htaccess mod_rewrite url avec plusieurs parameters optionnels

Je suis assez nouveau dans cette entreprise mod_rewrite mais j’aimerais avoir une règle qui me permette d’accomplir les tâches suivantes:

localhost/module_name/ -> localhost/index.php?module=module_name localhost/module_name/module_action -> localhost/index.php?module=module_name&action=module_action localhost/module_name/module_action/parm1 -> localhost/index.php?module=module_name&action=module_action&parm_1=parm1 localhost/module_name/module_action/parm1/parm2 -> localhost/index.php?module=module_name&action=module_action&parm_1=parm1&parm_2=parm2 

etc. J’ai réussi à faire fonctionner nom_module et module_action, mais je n’arrive pas à comprendre comment le faire fonctionner avec un seul module ou avec plusieurs parameters. C’est ce que j’ai actuellement:

 RewriteEngine on RewriteRule ([a-zA-Z]+)/([a-zA-Z]+) index.php?module=$1&action=$2 RewriteRule ([a-zA-Z]+)/([a-zA-Z]+)/([a-zA-Z]+)$ index.php?module=$1&action=$2&parm=$3 

La première règle semble fonctionner mais elle se brise sur la seconde.

Toute aide sera grandement appréciée.

Vous pouvez essayer ceci:

 RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^/([^/]+)/?([^/]*)?/?([^/]*)?/?([^/]*)?/? [NC] RewriteRule .* index.php?key1=%1&key2=%2&key3=%3&key4=%4 [L] 

Cartes en silence

http://localhost/val1/ jusqu’à

http://localhost/val1/val2/val3/val4

À:

http://localhost/index.php?key1=val1 jusqu’à

http://localhost/index.php?key1=val1&key2=val2&key3=val3&key4=val4

valN valeurs valN entrantes ne sont pas vides dans l’URL de substitution.

index.php est considéré comme une chaîne fixe.

Pour une redirection permanente, remplacez [L] par [R=301,L] ,

Nombre maximum de parameters = 4.