Comment rediriger toutes les pages xy d'un domaine sauf 4?

Bonjour,

Est-il possible, via un fichier htaccess, de rediriger toutes les pages d'un domaine, quel que soit leur nom, sauf 4 que l'on spécifie?

Je m'explique:

J'ai le domaine -http://www.domaine1.com

Ce domaine a plusieurs milliers de pages indexés dans Google mais toutes ont été définitivement supprimées... sauf 4 (en comptant la page index)!

Je veux donc que les 4 pages encore en vigueur restent accessibles normalement:
  • -http://www.domaine1.com/index.html
    -http://www.domaine1.com/page1.html
    -http://www.domaine1.com/page2.html
    -http://www.domaine1.com/page3.html

tandis que toutes les autres pages, quel que soit leur nom, doivent être redirigées vers -http://www.domaine2.com:
  • -http://www.domaine1.com/xyz-46.html --> -http://www.domaine2.com
    -http://www.domaine1.com/vnu55r-23.html --> -http://www.domaine2.com
    -http://www.domaine1.com/abs_12.html --> -http://www.domaine2.com
    -http://www.domaine1.com/fgh-88.html --> -http://www.domaine2.com
    -http://www.domaine1.com/lpz4534.html --> -http://www.domaine2.com
    etc.

Les pages à redirigier ont donc vraiment toutes des noms différents et n'existent plus physiquement à nulle part.

Auriez-vous une suggestion? :(

Merci d'avance.
 
En mettant des règles de "non redirection" pour les 4 pages avant la règle de redirection globale dans ton .htaccess ça devrait le faire non ?

J'entends règles de "non redirection", 4 règles qui ne change pas domaine... suivi du paramètre qui va bien [L] je crois pour que ce soit la dernière règle a être utilisée...

Enfin si mes souvenirs sont bons...
 
J'ai probablement oublié de préciser que je n'y connaissais pratiquement rien en redirection :oops:

J'ai essayé de chercher sur Google ce dont tu voulais parler mais n'ai rien trouvé. :(

Personne ne saurait me dire quoi mettre concrètement dans mon fichier htaccess pour résoudre mon problème?
 
Je partirais sur quelque chose comme ça :

Code:
RewriteEngine On

RewriteCond %{REQUEST_URI} !^/index.html
RewriteCond %{REQUEST_URI} !^/page1.html
RewriteCond %{REQUEST_URI} !^/page2.html
RewriteCond %{REQUEST_URI} !^/page3.html
RewriteCond %{HTTP_HOST} ^domaine1.com$ [NC]
RewriteRule ^(.*)   http://www.domaine2.com/$1  [QSA,L,R=301]

Comment ça marche ?

Si mes pages ne sont pas index.html, page1.html... alors je redirige sinon ça ne fait rien..

Ce code n'a pas été testé... à toi de me dire...
 
Les pages xyz & co ne sont pas redirigées. J'arrive toujours sur une erreur 404.

Par contre, lorsque j'entre -http://domaine1.com je suis redirigé, ce qui n'est pas l'effet voulu non plus puisque le fichier index.html existe encore et j'aimerais que ce soit lui qui s'affiche.
 
Ok et ça :
Code:
RewriteEngine On

RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !^/index.html
RewriteCond %{REQUEST_URI} !^/page1.html
RewriteCond %{REQUEST_URI} !^/page2.html
RewriteCond %{REQUEST_URI} !^/page3.html
RewriteCond %{HTTP_HOST} ^domaine1.com$ [NC]
RewriteRule ^(.*)   http://www.domaine2.com/  [QSA,L,R=301]

J'ai ajouté une règle pour la racine du site et j'ai envelé le $1 en fin de redirection pour eviter de reprendre les pages xyz...
 
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !^/index.html
RewriteCond %{REQUEST_URI} !^/page1.html
RewriteCond %{REQUEST_URI} !^/page2.html
RewriteCond %{REQUEST_URI} !^/page3.html
RewriteRule ^(.*)$ -http://www.domaine2.com [L,QSA]

Comme ça ça fonctionne... :-)

Merci de m'avoir mis sur la piste!
 
Tu peux faire un peu plus simple:
Code:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !^/(index|page1|page2|page3)\.html
RewriteRule ^(.*)$ -http://www.domaine2.com [L,QSA]
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut