2010-10-25 5 views
1

Dire que j'ai le fichier .htaccess suivant:des questions .htaccess

RewriteEngine On 

RewriteCond %{HTTP_COOKIE} name=value [NC] 
RewriteRule ^image01.gif$ http://www.domain.tld/images/partner/image01.gif [NC,QSA] 

RewriteCond %{HTTP_COOKIE} name=value [NC] 
RewriteRule ^image02.gif$ http://www.domain.tld/images/partner/image02.gif [NC,QSA] 

Que NC et QSA signifie?

Aussi, au lieu de répéter le même RewriteCond deux fois est là pour l'utiliser une seule fois et l'appliquer aux deux RewriteRule s?

Enfin, si le .htaccess est situé à http://www.domain.tld/images/ pourquoi ne pas RewriteRule comme ce travail ?:

RewriteRule ^image02.gif$ /images/partner/image02.gif [NC,QSA]

Ou peut-être cette ?:

RewriteRule ^image02.gif$ partner/image02.gif [NC,QSA]

Répondre

0

NC est pour No Case, ce qui signifie qu'il peut être en majuscule ou minuscule et il vous faudra à la même page.

QSA est pour l'ajout de chaîne de requête. Pas vraiment sûr sur celui-ci, cependant une recherche rapide http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html jette un peu plus de lumière sur celui-ci.

4

Les options de crochets sont documentés dans le RewriteRule manual page:

'nocase | NC' (aucun cas):

Cela rend le insensible à la casse Motif, ignorant la différence entre 'AZ' et 'az' lorsque Pattern est comparé à l'URL actuelle.

'qsappend | QSA' (append chaîne de requête):

Ce drapeau force le moteur de réécriture pour ajouter une partie de chaîne de requête de la chaîne de substitution à la chaîne existante, au lieu de remplacer il. Utilisez cette option lorsque vous souhaitez ajouter davantage de données à la chaîne de requête via une règle de réécriture .


Pour autant que je sache, le RewriteCond directives affectent la RewriteRule ils précèdent. Si vous définissiez des règles dans le fichier de configuration principal, vous pouvez écrire les directives communes dans un fichier et include plusieurs fois, mais ce n'est pas une option dans les fichiers .htaccess, désolé.


Votre directive fonctionne pour moi, même si vous voulez dire probablement ceci:

RewriteRule ^image02\.gif$ /images/partner/image02.gif [NC,QSA] 

Comment allez-vous tester exactement?