J'ai donc un serveur web fonctionnant sur Apache, avec quelques hôtes virtuels. Je veux utiliser par défaut https
et j'ai donc une règle de réécriture.
<VirtualHost *:80>
ServerName example.com
ServerAlias example.com www.example.com
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_Host}/$1 [NC,R,L]
</VirtualHost>
La chose intéressante est que, je vois toujours les multiples 301 qui se passent. ie http://example.com/something
-> https://example.com/something
-> https://www.example.com/something
Je pensais que c’était peut-être la ServerAlias
qui était à l’origine du problème; j’ai donc divisé la conf en deux règles distinctes.
<VirtualHost *:80>
ServerName example.com
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_Host}/$1 [NC,R,L]
</VirtualHost>
<VirtualHost *:80>
ServerName www.example.com
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_Host}/$1 [NC,R,L]
</VirtualHost>
Toujours obtenir le même résultat. Je n'ai aucune règle à rediriger vers www
, l'utilisateur entre example.com et sans www
, et je ne comprends pas d'où vient la deuxième redirection. Je n'ai pas non plus de règles .htaccess
pour effectuer des redirections. Qu'est-ce que je fais mal ici?
Edit: Problème identifié comme un plugin wordpress effectuant la redirection. Merci pour les conseils de la communauté.
Dans la redirection, il semble que cela pourrait se produire dans le conteneur VirtualHost
du port 443.
À défaut, la redirection pourrait se produire dans le code du site Web lui-même. (Ce qui semble être le cas ici - un plugin WordPress).