J'ai le problème commun de vouloir rediriger les requêtes pour un répertoire d'accès restreint à l'adresse http https, afin que les informations de connexion des utilisateurs sont envoyés dans un environnement sécurisé façon.Réorientation http https pour un répertoire, via .htaccess, en utilisant mod_alias seulement
Cependant, je n'ai pas activé mod_rewrite sur mon serveur. Je n'ai que mod_alias. Cela signifie que je dois utiliser la commande RedirectMatch. Je ne peux pas utiliser les solutions habituelles qui utilisent RewriteCond et RewriteRule.
(Une note sur la politique: je suis responsable du sous-site petit-faire frire dans une très grande organisation, de sorte que les administrateurs de serveur sont peu susceptibles d'être prêt à changer la configuration du serveur pour moi!)
La ligne suivante fonctionne, mais forme une boucle infinie (car l'URL réécrite est encore pris par l'expression régulière initiale):
RedirectMatch permanent ^/intranet(.*)$ https://example.com/intranet$1
un de mes gars informatiques internes a suggéré que j'évite la boucle infinie en déplaçant les fichiers vers un nouveau répertoire avec un nouveau nom (par exemple/intranet2 /). Cela me semble plutôt moche. Et les gens pourraient encore accidentellement/délibérément revenir à une connexion non sécurisée en visitant http://example.com/intranet2/ directement.
Alors j'ai essayé, mais ça n'a pas marché:
RedirectMatch permanent ^http:(.*)/intranet(.*)$ https://example.com/intranet$1
Je soupçonne que cela n'a pas fonctionné parce que le premier argument doit être un chemin de fichier à partir du répertoire racine, donc il ne peut pas commencer avec "http:".
Donc: de meilleures idées comment faire cela?