Comment redirect les URL non-www à www à l’aide de htaccess?

J’ai un site Web à l’ adresse http://www.example.com/ à la racine de mon site Web, j’ai ajouté un fichier .htaccess pour redirect toute demande de http://example.com/ vers http: //www.example. com /

Récemment, j’ai créé une nouvelle section “Vidéos”. L’URL des vidéos est donc http://www.example.com/videos/ . Dans ce dossier vidéo, j’ai un autre fichier htaccess qui réécrit les entrées vidéo. Lorsque j’essaie d’accéder à http://example.com/videos/ alors il ne me redirige pas vers http://www.example.com/videos/

Je pense que .htacces n’hérite pas des règles précédentes du répertoire parent. Quelqu’un peut-il s’il vous plaît me dire quelle peut être la règle que je peux append dans le fichier .htaccess de / videos / folder afin que toute demande de http://example.com/videos/ soit redirigée vers http: //www.example. com / videos / URL.

Ceci est une solution plus générique, car elle peut être utilisée avec n’importe quel nom de domaine sans avoir à spécifier le nom de domaine spécifique dans chaque fichier .htaccess:

# Redirect non-www to www: RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

Le contraire est également possible (www à non-www):

 # Redirect www to non-www RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

Je pense qu’il se peut que votre règle existante soit trop ssortingcte et que cela ne soit pas déclenché dans votre sous-répertoire. Quelque chose comme cela devrait fonctionner à l’échelle du site:

 RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^example\.com$ RewriteRule ^(.*) http://www.example.com/$1 [R=301] 

Ce sont les meilleures solutions pour redirect les URL non-www vers www en utilisant htaccess. en utilisant ce code dans le fichier htaccess et vérifier l’URL.

 Options +FollowSymlinks RewriteEngine on rewritecond %{http_host} ^mydomain.com [nc] rewriterule ^(.*)$ http://www.mydomain.com/$1 [r=301,nc] 

Je recommande à tout le monde de suivre la méthode ci-dessous, il ne redirecta que le domaine principal, mais pas tout autre sous-répertoire ou sous-domaine de votre hôte.

 # Redirect non-www to www only for main domain # recommended if you have any/some sub-domain(s) RewriteEngine on RewriteBase / # Replace yoursite and .tld respectively RewriteCond %{HTTP_HOST} ^yoursite\.tld$ # Replace yoursite.com RewriteRule ^(.*) http://www.yoursite.com/$1 [R=301] 

Utilisez cette méthode si vous êtes vraiment sûr et j’espère que vous n’utiliserez jamais un sous-domaine avec votre site Web, par exemple sousdomaine.votresite.com ou autre. Nous vous invitons à utiliser la méthode ci-dessous. “Dire encore, assurez-vous que vous voulez vraiment utiliser cette méthode”

 # Redirect all non-www to www including subdomain(s) RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

La méthode ci-dessous redirige toutes les URL www vers des sites non-www, y compris vos sous-domaines, bien que vous ne puissiez pas utiliser http://www.subdirecty.votresite.com, cela vous invitera à commettre une erreur avec 500.

 # Redirect www to non-www RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]