2012-05-08 3 views
0

Je suis en train d'utiliser htaccess pour diriger automatiquement toutes les demandes de certaines pages à https et tout le reste à http: //Comment rediriger des liens spécifiques vers https: // tout le reste vers http: // en utilisant .htaccess?

Voici le code que j'ai le code pour forcer ssl travail ci-dessous

RewriteEngine on 
RewriteBase/

RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^va-homebuyers-guide https://domain.com/va-homebuyers-guide/ [R=301,L] 

RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^va-purchase-request https://domain.com/va-purchase-request/ [R=301,L] 

RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^va-streamline-refinance https://domain.com/va-streamline-refinance/ [R=301,L] 

Cela fonctionne comme prévu et redirige vers les versions SSL de ces pages. Je puis essayé d'ajouter ce qui suit pour rediriger tout le reste à http:

RewriteCond %{SERVER_PORT} !^80 
RewriteCond %{REQUEST_URI} !^va-homebuyers-guide$ 
RewriteCond %{REQUEST_URI} !^va-purchase-request$ 
RewriteCond %{REQUEST_URI} !^va-streamline-refinance$ 
RewriteRule ^(.*)$ http://domain.com/$1 [R,L] 

Ce code entraîne dans une boucle de redirection quand va/va-achat-demande/VA-accédants guide et/va-Streamline-refinancement et ne redirige pas les autres pages du tout.

Je suis complètement coincé avec ceci et toute aide serait massivement appréciée!

Edit:

J'ai aussi ce code dans le fichier .htaccess ajouté par ... wordpress pourrait-il interférer avec les autres réoriente?

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress

+0

Vérifiez [cette question] (http://webmasters.stackexchange.com/q/28395/11628) . (Ce que vous essayez de faire est probablement en partie non sécurisé ...) – Bruno

Répondre

1

Remplacez votre code .htaccess avec ceci:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTPS} off 
RewriteRule ^va-(homebuyers-guide|purchase-request|streamline-refinance)(/.*|)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NC] 

RewriteCond %{HTTPS} on 
RewriteRule (?!^va-(homebuyers-guide|purchase-request|streamline-refinance)(/.*|)$)^.*$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NC] 
+0

Cela fonctionne pour rediriger tout le reste à http: cependant, quand je vais à l'une des pages qui est censé rediriger, je suis envoyé à la page d'accueil (http://domain.com) des idées? –

+0

Désolé de ne pas vous avoir. Quelle URI avez-vous essayé qui n'a pas fonctionné? Y a-t-il une chance qu'il y ait une redirection quelque part ailleurs comme un autre code .htaccess ou dans le code? – anubhava

+0

Merci de m'avoir renvoyé ... Les urls https://domain.com/va-homebuyers-guide/ https://domain.com/va-purchase-request/ et https://domain.com/va-streamline-refinance/redirige tous vers http://domain.com lorsque j'utilise votre code. Il y a une autre redirection dans le fichier ajouté par wordpress qui est la suivante et est directement sous le code que vous me donniez # BEGIN WordPress RewriteEngine On RewriteBase/ RewriteRule^index \. php $ - [L] RewriteCond% {REQUEST_FILENAME}! -f RewriteCond% {REQUEST_FILENAME}! -d RewriteRule. /index.php [L] # FIN WordPress –

Questions connexes