2012-01-26 4 views
1

J'ai un problème avec mon non www à www redirect. Tout le reste dans mon fichier .htaccess fonctionne comme prévu. Mon htaccess ressemble à ceci.htaccess non à www ne fonctionne pas, d'autres redirections fonctionnent

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} !^www\.mysite\.com$ [NC] 
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L] 

# Redirect old URLs to new ones 
RewriteRule ^(about)$ about-us [L,R=301] 
RewriteRule ^(contact-us)$ contact [L,R=301] 

#Place index.php after hostname 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond $2 !\.(gif|jpe?g|png|css|pdf|swf|fla|ppt|php|js)$ [NC] 
RewriteCond $1 !\.(gif|jpe?g|png|css|pdf|swf|fla|ppt|php|js)$ [NC] 

RewriteRule ^(.*)$ index.php/$1 [L] 

Les autres redirections fonctionnent, juste le non www à www ne fonctionne pas. Est-ce que quelqu'un peut-il me montrer la bonne direction. Merci

+0

Avez-vous exécuté un script phpinfo avec divers synonymes de domaine pour valider que votre hôte définit HTTP_HOST correctement? Certains services d'hébergement traitent cela dans la configuration de la racine d'Apache et la réinitialisent – TerryE

+0

@TerryE Merci pour la réponse, il semble être réglé correctement. HTTP_HOST \t www.mysite.com HTTP_CONNECTION \t keep-alive – Henrick

+0

@Henrick avez-vous plusieurs fichiers .htaccess dans différents répertoires? – Prix

Répondre

0

Le même problème que je luttais trop avec. Et finalement j'ai trouvé une solution pour ça. Si vous utilisez un hôte virtuel, Dans les paramètres de votre hôte virtuel, changez: ServerAlias *.domain.com à

Cela résoudra votre problème. Je ne sais pas pourquoi c'est la cause du problème, mais quelqu'un expert apache peut aider à ce sujet.

Questions connexes