2008-10-09 10 views
0

J'ai quelques problèmes avec mes règles mod_rewrite. Il y a trois différents modèles d'URL que je veux gérer.Apache - mod_rewrite RewriteRule question

  1. http://example.com/%module%/%view%-%args%.html
  2. http://example.com/%module%/%view%.html
  3. http://example.com/%module%

Les règles mod_rewrite suivantes ne fonctionnent pas vraiment . J'ai aussi le problème que la requête (exemple: user.html? Foo = bar) n'a pas d'effet.

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^([0-9A-Za-z_-]*)/?([0-9A-Za-z_]+)-?([0-9A-Za-z_,]*)\.html$ index.php?__module=$1&__view=$2&__argv=$3 

    RewriteRule ^([0-9A-Za-z_-]*)/?$ index.php?__module=$1&__view=&__argv= 
</IfModule> 

Répondre

3

Pour la chaîne de requête, marquez vos règles avec QSA (Query String Append). Ce que vous essayez de configurer s'appelle un "contrôleur frontal", dont il existe déjà beaucoup de ready-made. Peut-être que vous devriez jeter un coup d'oeil à quelques cadres PHP populaires et en adopter un qui vous convient.

+0

Je travaille sur un framework PHP5, parce que j'aime la programmation et l'aspect de l'apprentissage par la pratique. Si vous êtes intéressé: http://code.google.com/p/quail/. Je veux rester simple. – alexvetter