J’ai des règles sur .htaccess qui ressemble à ceci:
RewriteCond %{REQUEST_URI} ^/services/service1/?$ RewriteRule . http://www.domain.com/Service1%20Services.html [R=301,L]
mais le %2
est supprimé et le résultat final est http://www.domain.com/Service10Services.html
J’ai cherché et trouvé que% 2, tout comme% 1 est une référence arrière RewriteCond .
Mon problème est que je ne sais pas comment y échapper afin qu’il soit traité comme un littéral de chaîne. Quelqu’un peut-il s’il vous plaît me dire comment je suis censé le faire?
%2
est une variable spéciale back-refernece, vous devez y échapper pour l’utiliser littéralement. Vous avez également besoin d’un drapeau NE
pour le non-encodage.
Utilisez cette règle:
RewriteRule ^services/service1/?$ http://www.domain.com/Service1\%20Services.html [R=301,L,NE]