J'ai reçu un petit site servi par Apache (je ne peux pas mettre Nginx à l'avant ni changer Apache à rien), et il est mis en place pour servir le même site sur http et https (aucune redirection http-> https est là pour Loin, donc les versions HTTP et HTTPS sont servies en parallèle).
Ce dont j'ai besoin, c'est de configurer .htaccess
Donc, la même URI via http et via https de servir différents fichiers texte?
Comme http://example.com/proto.txt
dit "le site est sur http" tandis que https://example.com/proto.txt
dirait "le site servi sur https".
Utiliser n alias
Créez deux fichiers, robots.txt et robots_http.txt et ajoutez ceci à votre HTTP Virtualhost:
Alias "/robots.txt" "/path/to/documentroot/robots_http.txt"
Si vous ne pouvez pas ou ne changerez pas la configuration Apache "principale", mais devez le faire dans un .htaccess
Fichier, vous pouvez utiliser un RewriteRule
avec un RewriteCond
qui vérifie pour HTTPS.
Quelque chose dans le sens de:
RewriteEngine On
RewriteCond %{HTTPS} "on"
RewriteRule robots.txt robots_https.txt [L]
devrait probablement fonctionner (je ne l'ai pas testé).
Notez que cela est basé sur Apache Faire la terminaison HTTPS elle-même. Si la terminaison HTTTP est effectuée sur un proxy inverse avant celle-ci, la condition sera probablement différente (et dépendra de la configuration du proxy inverse et de Apache).