2014-06-23 5 views
-2

c'est mon .htaccess:Besoin d'aide pour mod_rewrite rewriterule

<IfModule mod_rewrite.c>  
RewriteEngine On 
RewriteRule ^\.htaccess$ - [F] 
#RewriteBase/
RewriteRule ^(\w+)$ index.php?main=$0 
</IfModule> 

Il fonctionne bien pour les hyperliens comme http://www.test.de/Contact, mais je veux ajouter plusieurs paramètres, par exemple:

http://www.test.de/Categorie/A/1  index.php?main=$0&sub1=$1&sub2=$2 

Quelqu'un peut-il m'aider à définir la RewriteRule? Merci!

+0

double possible de [MVC htaccess rewrite] (http://stackoverflow.com/questions/16314756/mvc-htaccess-rewrite) Merci – War10ck

Répondre

0
<IfModule mod_rewrite.c>  
RewriteEngine On 
RewriteRule ^\.htaccess$ - [F] 
#RewriteBase/
RewriteRule ^(\w+)$ index.php?main=$1 
RewriteRule ^(\w+)/(\w+)$ index.php?main=$1&sub1=$2 
RewriteRule ^(\w+)/(\w+)/(\w+)$ index.php?main=$1&sub1=$2&sub2=$3 
</IfModule> 

Essayez-le. Le problème avec votre règle de réécriture est qu'elle ne fait que correspondre aux caractères de mots (caractères qui composent un mot). Il se termine au premier. Plus vous avez un $ à la fin ce qui n'est pas absolument nécessaire.

+0

juste eu à modifier les $ -variables: ' RewriteEngine On RewriteRule^\ htaccess $ - [F] #RewriteBase/ RewriteRule^(\ w +) index.php $ principale = 1 $ RewriteRule^(\ w +)/(\ w +) $ index.php ? main = $ 1 & sub1 = $ 2 RewriteRule^(\ w +)/(\ w +)/(\ w +) $ index.php? main = $ 1 & sub1 = $ 2 & sub2 = $ 3 ' – user3768487

+0

N'a pas attrapé les références du modèle, ils commencent effectivement à 1, 0 se réfère généralement à la match entier. – spatel