web-dev-qa-db-fra.com

htaccess réécrire le conflit avec les règles wordpress et ssl

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?

4
elleeott

É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 .

3
jetlej