Soucis de redirection sans www vers www

Nouveau WRInaute
Bonsoir ,

j'ai un soucis avec mon site cancres.fr , je voudrais rediriger via .htaccess le site sans www vers www,
voici mon fichier il y a peut être une erreur :

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

# Get rid of index.php
RewriteCond %{REQUEST_URI} /index\.php
RewriteRule (.*) index.php?rewrite=2 [L,QSA]

# Rewrite all directory-looking urls
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*) index.php?rewrite=1 [L,QSA]

# Try to route missing files
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} public\/ [OR]
RewriteCond %{REQUEST_FILENAME} \.(jpg|gif|png|ico|flv|htm|html|php|css|js)$
RewriteRule . - [L]

# If the file doesn't exist, rewrite to index
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rewrite=1 [L,QSA]

</IfModule>

# sends requests /index.php/path/to/module/ to "index.php"
# AcceptPathInfo On

# @todo This may not be effective in some cases
FileETag Size

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</IfModule>

RewriteCond %{HTTP_HOST} !^www.cancres.fr$
RewriteRule ^(.*) http://www.cancres.fr$1 [QSA,L,R=301]
 
WRInaute passionné
essaye de les mettre justapres ca plutot qua la fin :
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
 
WRInaute accro
RewriteCond %{HTTP_HOST} ^cancres.fr$ > la condition limite la règle au seul domaine sans / terminal :wink:
Sans le $ ça devrait être mieux pour l'ensemble des urls

Code:
    RewriteCond %{HTTP_HOST} ^example.com
    RewriteRule (.*) http://www.example.com/$1 [QSA,R=301,L]

FortTrafic a dit:
RewriteCond %{HTTP_HOST} ^cancres\.fr$ [NC]
RewriteRule ^(.*)$ http://www.cancres.fr/$1 [L,R=301]
L'anti slash avant le point est inutile car que ce soit un point ou un caractère quelconque ça passera car de toute façon il n'y a aucune chance qu'un domaine qui match avec un caractère quelconque tombe sur ce dossier.
idem pour le début fin (^$) de la ligne de règle, inutile puisqu'on capture tout.
 
Nouveau WRInaute
Furtif a dit:
A mettre au debut de ton htaccess :

Options +FollowSymlinks
Options -Indexes
RewriteEngine On
RewriteCond %{HTTP_HOST} ^cancres.fr$
RewriteRule (.*) http://www.cancres.fr/$1 [QSA,L,R=301]

Un GROS MERCI sa fonctionne :)
 
Nouveau WRInaute
Bonjour,

Je suis désolé mais après avoir lu multe post et tenté différentes choses cela ne marche pas. Svp helpp:

Qu'est ce qui ne va pas dans le code ci-dessous de mon .htaccess placé à la racine de mon site?

Je suis hébergé chez OVH.

Un grand merci d'avance.

--------

SetEnv PHP_VER 5

Options +FollowSymlinks
Options -Indexes
RewriteEngine On
RewriteCond %{HTTP_HOST} ^nrc.fr
RewriteRule (.*) http://www.nrc.fr/$1 [QSA,L,R=301]


SetEnvIf GEOIP_COUNTRY_CODE AF BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE AZ BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE IL BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE KR BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE PK BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE RU BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE TW BlockCountry
Deny from env=BlockCountry
Deny from 195.190.13.158
Deny from 90.83.61.89




<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 1604800 seconds"
ExpiresByType text/javascript "access plus 1604800 seconds"
ExpiresByType application/x-javascript "access plus 1604800 seconds"
</ifModule>

<IfModule mod_deflate.c>
<FilesMatch "\.(js|css|eot|ttf|fon|svg|xml|ast|php)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>

<ifModule mod_headers.c>
<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\\.(css)$">
Header set Cache-Control "max-age=1604800, public"
</filesMatch>
<filesMatch "\\.(js)$">
Header set Cache-Control "max-age=1216000, private"
</filesMatch>
<filesMatch "\\.(xml|txt)$">
Header set Cache-Control "max-age=216000, public, must-revalidate"
</filesMatch>
<filesMatch "\\.(html|htm|php)$">
Header set Cache-Control "max-age=1, private, must-revalidate"
</filesMatch>
</ifModule>
 
WRInaute passionné
Ce que je vois comme différence entre le message final d'infobrood et ton code c'est un $ en moins dans ton code à la fin de la première ligne :
Code:
RewriteCond %{HTTP_HOST} ^nrc.fr
RewriteRule (.*) http://www.nrc.fr/$1 [QSA,L,R=301]

Mais zeb a dit que ce n'est pas un problème.

Donc je ne sais pas non plus, de toutes façons je suis nul en htaccess j'arrive juste à m'en sortir pour faire des trucs en cherchant sur google et ensuite j'oublie direct.
 
Nouveau WRInaute
Wooww merci de votre réactivité.

Non malheureusement ca ne marche pas en faisant le copier coller de ce code "Furtif".

:(
 
Nouveau WRInaute
Non désolé cela ne marche pas sur mon poste et même en vidant le cache. J'ai une page IIS 7 qui s'affiche...

J'ai fait un test sur un autre site en ne mettant pas les www et la oui cela marche c'est que mon site a un problème...Sniffff

Peux tu tenter le coup en vidant ton cache et me dire si cela marche ?
 
Nouveau WRInaute
OK. Je viens de tester sur mon tel et ca marche :)

Zuper!

Peut etre est ce nos postes...

Merki bcp en tt cas.
 
WRInaute accro
NRC-Lille a dit:
Peut etre est ce nos postes...
certaine infra d'entreprise ont du cache pour éviter de demander 50 fois la même page ;-) et ça tu ne peux pas le vider comme tu veux.
 
Discussions similaires
Haut