web-dev-qa-db-fra.com

Différence entre 1 $ VS% 1 dans .htaccess

Quelle est la différence entre %1 et $1 dans .htaccess?

Par exemple,

    #  to remove www  
    RewriteCond %{HTTP_Host} ^(\w+)\.mydomain\.com [NC]

    RewriteRule .* http://mydomain.com/%1 [R=301,L]    
    #    versus
    #    RewriteRule .* http://mydomain.com/$1 [R=301,L]

J'utilisais Feuille de triche de Dave Child Child's et Feuille de triche de Jackol's .htaccess ainsi que Apache mod_rewrite docs mais une aide supplémentaire serait géniale .

34
csi

%1 Fait référence à un motif correspondant à une condition RewriteCond, tandis que $1 fait référence à un motif correspondant à l'intérieur d'un RewriteRule.

Plus génériquement, utilisez %n Pour faire référence aux correspondances numérotées de RewriteCond condition de condition des modèles de regex et utilisez $n Pour faire référence à des correspondances numérotées de RewriteRule modèles de regex.

56
Michael Berkowski