Forcer l'affichage des www : ajout d'un répertoire /www non souhaité

Nouveau WRInaute
Bonjour,

Je viens de passer pas mal de temps à chercher des solutions à mon problème, que ce soit sur WRI ou ailleurs.
Je ne suis pas pro du htaccess, mais je sais à peu près à quoi ça sert :)

Mon problème : :(

Comme bon nombre d'autres webmasters, je voudrais rediriger les urls type http://monsite.com vers http://www.monsite.com.
Mais ce que j'ai testé ne fonctionne pas : lorsque j'enlève les www pour voir ce qui se passe, mon url se réécrit http://www.monsite.com/www/ et j'ai une jolie erreur 500

Ce que j'ai fait : :)

Sous la ligne RewriteEngine On :

J'ai essayé ça :
RewriteCond %{HTTP_HOST} !^(.*)\.monsite\.com$ [NC]
RewriteRule ^(.*)$ http://www.monsite.com/$1 [R=301,L]

Puis ça :
RewriteCond %{HTTP_HOST} ^monsite\.com$
RewriteRule ^(.*)$ http://www.monsite.com/$1 [R=301,L,QSA]

En passant par l'ajout de :
Options +FollowSymLinks => mais alors là erreur 500 direct

Ensuite j'ai tout enlevé, et j'avais toujours le même problème. Du coup je ne suis même pas sûr que les lignes que j'ai ajouté aient été prises en compte...

Infos concernant mon site : :)

Je suis chez OVH
Mon CMS est Wordpress (je n'ai encore aucun plugin pour le moment)


Le contenu de mon fichier .htaccess :
=>(bien sûr dans le vrai fichier j'ai le vrai nom de domaine)
=> je l'ai créé en partant de 0, en m'aidant des conseils du monsieur de oseox notamment

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

ServerSignature Off

#Interdire le listage des fichiers des répertoires ne contenant pas de fichier d'index
Options All -Indexes

#Rediriger les visiteurs vers une page de maintenance pour les grosses mises à jour
#du blog. Il faut peut-être personnaliser l'url.
#RewriteCond %{REQUEST_URI} !/maintenance.html$
#RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
#RewriteRule $ /maintenance.html [R=302,L]

#Empêcher le hotlinking (lien vers une image qui consomme de la bande passante)
#RewriteCond %{HTTP_REFERER} !^http://(.+\.)?monsite\.com/ [NC]
#RewriteCond %{HTTP_REFERER} !^$
#Remplacer /images/nohotlink.jpg avec l'adresse vers l'image d'avertissement d'antihotlink
#RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

#Compresser les données statiques pour réduire la bande passante et le poids des pages.
#Les données compressées sont ensuite décompressées par le navigateur du visiteur
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

#Forcer l'utilisation du cache du navigateur. Renvoie des codes "304 not modified" quand un élément demandé n'a pas été modifié
FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch "\.(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>


<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>

#Protéger le fichier wp-config.php contenant les infos de connexion à la base de données
<Files wp-config.php>
Order Allow,Deny
Deny from all
</Files>

<Files readme.html>
order allow,deny
deny from all
</Files>

# END WordPress


Mes questions :

  • D'après tous ces éléments, pensez-vous que c'est mon fichier .htaccess qui ne va pas, et quoi ?

    Pensez-vous plutôt qu'il y a un truc à modifier en amont, au niveau de mon hébergement ?


Merci beaucoup d'avance pour votre aide !
 
Nouveau WRInaute
Bonjour,

Personnellement j'utilise la syntaxe suivante :
RewriteCond %{HTTP_HOST} ^monsite\.fr
RewriteRule (.*) http://www.monsite.fr/$1 [R=301,L]


Voir les liens suivants qui sont la référence dans ce domaine :
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
Canonical Hostnames
http://www.htaccessbasics.com/force-www-nonwww-domain/
# Redirect non-www urls to www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]


Cordialement
Philippe
 
WRInaute accro
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^(.*)   http://www.example.com/$1  [QSA,L,R=301]
 
Discussions similaires
Haut