2010-03-05 6 views
0

Je suis en train de réorienter mon site tout ici non wwwhtaccess et non www

est le code htaccess J'utilise

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

# no www 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.akorra\.com$ [NC] 
RewriteRule ^.*$ http://akorra.com%{REQUEST_URI} [R=301,L] 

idées

+0

Qu'est-ce qui se passe en ce moment? –

+0

Pourquoi ne laissez-vous pas simplement Wordpress Permalinks gérer la suppression du WWW? – Urda

+0

quand je lance le site Web rien ne se passe et le www est toujours là www.akorra.com – Luke101

Répondre

1

Je pense que vos règles doivent entre les balises du module.

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

# no www 
RewriteCond %{HTTP_HOST} ^www\.akorra\.com$ [NC] 
RewriteRule ^.*$ http://akorra.com%{REQUEST_URI} [R=301,L] 

# BEGIN WordPress 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
# END WordPress 

</IfModule> 
+0

Ce n'est pas vrai. Le IfModule s'assure seulement que tout ne donne pas 500 quand il n'y a pas de mod_rewrite.c activé. – Herman

1

Voici ce que vous besoin d'ajouter à votre .htaccess

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

Cependant, si vous travaillez avec Wordpress comme moteur pour votre site entier, il suffit de mettre à jour la structure permalink et tous les paramètres internes avec votre nom de domaine pour supprimer le www.

EDIT:

Je pensais que était différent quand j'ai écrit la réponse Désolé. Essayez de déplacer votre règle non www au sommet ...

# no www 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.akorra\.com$ [NC] 
RewriteRule ^.*$ http://akorra.com%{REQUEST_URI} [R=301s,L] 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

NOUVEAU garder à l'esprit si Wordpress est réglé pour produire des liens avec un www alors rien ne l'arrêtera de tout revenir en arrière pour avoir un www même avec un bon règle de réécriture.

Plus de détails Wordpress:

Vérifiez les paramètres wp/wp-admin/options-general.php ...

  • Prenez soin de retirer le www dans WordPress address (URL)
  • Assurez-vous de retirer le www dans Blog address (URL)

ET puis mettez à jour votre structure premalink dans wp-admin/options-permalink.php donc les changements sont reflétés. Après tout ce qui est dit et fait, assurez-vous que Wordpress n'a pas remplacé le nouveau code dans votre fichier .htaccess.

0

Salut, je pense que vous devez ajuster votre script comme suit pour la réécriture au travail:

Options +FollowSymlinks 
RewriteEngine on 

Je crois que les liens symboliques de suivi doit absolument être inclus pour l'url rewriting fonctionne correctement.

Plus des conseils sur mod_rewrite ici:

http://www.askapache.com/htaccess/mod_rewrite-tips-and-tricks.html

Rob

0
RewriteEngine On 
RewriteBase/

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

# WordPres 
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$ 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

Cela devrait fonctionner

0

Je suggère d'utiliser ce morceau de code pour enlever www de votre site Web:

RewriteCond %{HTTPS} !=on 
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule^http://%1%{REQUEST_URI} [R=301,L] 

il est plus générique.

et dans votre exemple, il est préférable d'utiliser ceci:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    # no www 
    RewriteCond %{HTTPS} !=on 
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
    RewriteRule^http://%1%{REQUEST_URI} [R=301,L] 

    # BEGIN WordPress 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php [L] 
    # END WordPress 
</IfModule> 
Questions connexes