web-dev-qa-db-fra.com

htaccess redirige toutes les pages vers une seule page

Je veux rediriger toutes mes anciennes demandes de domaine vers mon nouveau domaine en utilisant le fichier htaccess. Voici ce que j'utilise, mais cela ne fonctionne pas si la page n'est pas sur le nouveau site. Par exemple google index about.htm sur l'ancien site mais sur le nouveau site il n'existe pas. Je voudrais qu'il aille juste à la racine dans tous les cas. Je sais que ce n'est pas idéal pour le référencement, mais je ne veux pas de 404. Aucune suggestion?

Redirect 301 / http://www.thenewdomain.com/
33
Brian Barthold

Essayez-vous d'amener les visiteurs sur old.com/about.htm à aller sur new.com/about.htm? Si c'est le cas, vous pouvez le faire avec une règle mod_rewrite dans .htaccess:

RewriteEngine on

RewriteRule ^(.*)$ http://www.thenewdomain.com/$1 [R=permanent,L]

23
kj.

Si votre objectif est de rediriger toutes les pages vers une seule page de maintenance (comme le titre pourrait le suggérer également), utilisez alors:

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.php$ 
RewriteCond %{REMOTE_Host} !^000\.000\.000\.000
RewriteRule $ /maintenance.php [R=302,L] 

Où 000 000 000 000 doivent être remplacés par votre adresse IP .

La source:

http://www.techiecorner.com/97/redirect-to-maintenance-page-during-upgrade-using-htaccess/

65
user669677

Cela dirigera tout, de l'ancien hôte à la racine du nouvel hôte:

RewriteEngine on
RewriteCond %{http_Host} ^www.old.com [NC,OR]
RewriteCond %{http_Host} ^old.com [NC]
RewriteRule ^(.*)$ http://www.thenewdomain.org/ [R=301,NC,L]
14
bjudson
RewriteEngine on
RewriteCond %{HTTP_Host} ^(www\.)?olddomain\.com$ [NC]
RewriteRule ^(.*)$ "http://www.thenewdomain.com/" [R=301,L]
5
Marco Demaio