dans un fichier .htaccess, comment corrigez-vous plusieurs fonctionnalités d’une URL sans redirect à chaque fois?

Disons que je veux que les gens qui visitent mon site Web à website.com/something soient redirigés vers: https://www.website.com/something/

Je sais écrire des règles pour résoudre ce problème (comme forcer www et une barre oblique), mais seulement pour que l’url soit corrigée une fois à la fois. c’est à dire

website.com/something
-> www.website.com/something
-> https://www.website.com/something
-> https://www.website.com/something/

Y a-t-il un moyen de tout réparer en une fois (s’il n’est pas présent dans l’URL) pour éviter toutes les redirections?

Vous pouvez utiliser cette règle dans votre fichier DOCUMENT_ROOT/.htaccess :

 RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{REQUEST_URI} !/$ [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.+?)/?$ https://www.website.com/$1/ [NE,L,R] 

Explication:

Il y a 3 conditions avec [OR] . Cela signifie que si l’une des conditions suivantes est vraie:

  1. SI HTTPS est désactivé OR
  2. SI REQUEST_URI n’a pas de barre oblique OR
  3. SI la variable HTTP_HOST ne commence pas par www

puis faites la redirection.

PS: ^(.+?)/?$ REQUEST_URI sans la dernière barre oblique dans $1 .