celui-ci m'a dérangé - j'ai la règle ci-dessous htaccess pour rediriger ssl vers des pages non-ssl. cela fonctionne bien, sauf que je voudrais exclure certaines requêtes wordpress de cette règle, par exemple, https://monsite.com/info/ . J'ai essayé ce qui suit:
#rewrite all ssl pages to non-ssl for everything that doesn't have /info/ in the request uri
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/info/
RewriteRule (.*) http://%{HTTP_Host}%{REQUEST_URI} [R=301,QSA,L]
#wordpress
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
le résultat est que https://monsite.com/info/ redirige vers http://monsite.com/ à la place. Si je désactive les règles de réécriture de wordpress, les règles précédentes fonctionnent correctement. Quelqu'un peut-il suggérer la bonne façon de cibler de jolies URL dans un état de réécriture?
Éditez votre code existant pour exclure le fichier index.php de la redirection comme ceci:
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/info/
RewriteCond %{REQUEST_URI} !^/index\.php$
RewriteRule (.*) http://%{HTTP_Host}%{REQUEST_URI} [R=301,QSA,L]
Pour une explication, vérifiez la réponse à cette question sur Stackoverflow: Problème avec .htaccess qui redirige toutes les pages en HTTPS sauf une .