2010-05-12 10 views
2

Je veux avoir une URL comme ceci: domain.com/css/site.css?test=234mod_rewrite - Ne pas obtenir un deuxième travail de règle

Règle:

RewriteEngine On 
RewriteRule ^([a-z]+)/$ $1.php 
RewriteRule ^css/([a-zA-Z0-9]+).css?count=(.*)$ css.php?f=$1&test=$2 

Mais je reçois à chaque fois 404: Introuvable (site. css)

Si j'ai une règle comme cela fonctionne, juste sans obtenir le $ _GET-variable:

RewriteEngine On 
RewriteRule ^([a-z]+)/$ $1.php 
RewriteRule ^css/([a-zA-Z0-9]+).css$ css.php?f=$1 

Répondre

2

La chaîne de requête n'est pas présente dans l'URL à associer à RewriteRule. Vous avez besoin de quelque chose comme ceci:

RewriteEngine On 
RewriteRule ^([a-z]+)/$ $1.php 

RewriteCond %{QUERY_STRING} count=(.*)$ 
RewriteRule ^css/([a-zA-Z0-9]+).css$ css.php?f=$1&test=%1 

Vous pouvez en savoir plus sur RewriteCond et RewriteRule ici http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteCond

Vous pouvez voir ordre dans lequel RewriteConds et RewriteRules sont exécutés ici http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#InternalRuleset

+0

Encore une fois appris quelque chose de nouveau, merci :) – Poru

Questions connexes