J’ai besoin d’aide pour la réécriture d’URL dans .htaccess.
Le problème concerne donc différents protocoles: https et http. Le but principal de la réécriture est de supprimer “www” de l’URL, mais le protocole doit restr identique à ce qu’il était auparavant.
Par exemple, lorsque j’ai une URL comme http : //www.domain.com/request, elle doit être redirigée vers http : //domain.com/request. Je le résous avec ces règles:
RewriteBase / RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Mais au cas où l’URL ressemblerait à https : //www.domain.com/request, elle devrait être redirigée vers https : //domain.com/request.
Malheureusement, la règle ci-dessus redirecta vers http indépendamment du protocole actuel.
Merci d’avance.
Ceci est assez similaire au doublon possible lié, mais puisque celui-ci force www
où vous voulez le supprimer, cela peut justifier une réponse séparée.
Essayez quelque chose comme ça:
RewriteCond %{HTTP_HOST} ^www\. RewriteCond %{HTTPS}s ^on(s)|off RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$ RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]