Question

Je voudrais rediriger toutes les connexions de htt_p: //www.example.com/abc.html à HTTP_S: //www.example.com/abc.html. Qu'est-ce mod_alias ou des commandes mod_rewrite travaillerait pour cela? J'ai essayé:

RewriteEngine on
RewriteCond %{HTTPS} =off
RewriteRule $abc\.html^ https://www.example.com/abc.html [R]

dans les deux .htaccess et httpd.conf, mais cela ne fonctionne pas. Il fonctionne si la première chaîne dans la RewriteRule est toute autre chose (comme abz.html), mais pas si elle est abc.html. abc.html est un fichier réel sur le serveur (pas une autre redirection). Options FollowSymlinks est présent dans la directive appropriée Directory.

Merci.

Était-ce utile?

La solution

Quelque chose le long des lignes de ce qui suit vous permettra de rediriger les pages non-SSL pour les versions SSL (en supposant que vous utilisez SSL sur le port 443):

RewriteEngine on

# Limited redirects
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} ^/abc\.html$ [OR,NC]
RewriteCond %{REQUEST_URI} ^/def\.html$ [OR,NC]
RewriteCond %{REQUEST_URI} ^/ghi\.html$ [NC]
RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

[OR] drapeau après la RewriteCond est littéralement que « ou », ce qui explique pourquoi la dernière condition ne l'a pas

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top