J'ai un projet client où j'ai besoin de forcer HTTPS pour un certain dossier et de forcer HTTP pour tous les autres. Je peux réussir HTTPS pour le dossier que je désire, mais tous les liens vers le reste du site finissent par HTTPS. Je voudrais avoir une règle qui force les demandes de n'importe quoi 'non' dans le dossier sécurisé à être forcé à HTTP. Voici ce que j'ai jusqu'à présent:Forcer HTTPS sur certaines URL et forcer HTTP pour tous les autres
RewriteEngine On
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{HTTPS} !=on
RewriteRule ^(my) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1
« mon » est le nom du dossier que je dois forcer HTTPS pour.
Des idées?
Mise à jour: J'ai aussi essayé:
RewriteEngine On
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
# Force HTTPS for /my
RewriteCond %{HTTPS} !=on
RewriteRule ^(my) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
# Force HTTP for anything which isn't /my
RewriteCond %{HTTPS} =on
RewriteRule !^my http://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
# Remove index.php from URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1
Mais au lieu des demandes de/mon être forcé via HTTPS, ils résolvent maintenant juste http://www.example.com/index.php/my
:
Merci, m'a sauvé beaucoup de temps! FWIW, dans Wordpress, le Wordpress htaccess de base IfModule supprime déjà index.php des URLs. – Jason