J'ai un petit site qui est servi par Apache (je ne peux pas mettre Nginx devant ni changer Apache en quoi que ce soit), et il est configuré pour servir le même site à la fois sur http et https (aucune redirection http-> https n'est là donc jusqu'à présent, les versions http et https sont donc servies en parallèle).
Ce dont j'ai besoin est de configurer .htaccess
le même URI via http et via https pour servir un fichier texte différent?
Comme http://example.com/proto.txt
dit "Le site est sur http" alors https://example.com/proto.txt
que dirait "Le site est servi sur https".
apache-2.4
https
http
htpasswd
Kevin M
la source
la source
RewriteRule
dans votre.htaccess
avec une condition sur le service via https.<VirtualHost>
s différents . Il vous suffit donc de configurer un autre robots.txt dans l'un d'eux. Autour de ainsi:RewriteRule ^/robots.txt$ /path/to/alternative/robots.txt [L]
Réponses:
Utiliser un alias
Créez deux fichiers, robots.txt et robots_http.txt et ajoutez-le à votre http VirtualHost:
la source
Si vous ne pouvez pas ou ne voulez pas changer la configuration "principale" d'Apache mais que vous devez le faire dans un
.htaccess
fichier, vous pouvez utiliser unRewriteRule
avec unRewriteCond
qui vérifie HTTPS.Quelque chose dans le sens de:
devrait probablement fonctionner (je ne l'ai pas testé).
Notez que cela est basé sur Apache qui fait lui-même la terminaison HTTPS. Si la terminaison HTTPS est effectuée sur un proxy inverse avant lui, la condition sera probablement différente (et dépendra de la configuration du proxy inverse et d'Apache).
la source