web-dev-qa-db-fra.com

Pourquoi Apache redirige-t-il vers www sans RewriteRule

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é.

3
user3461411

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).

1
MrWhite