Rediriger une page qui n'existe plus vers une autre

WRInaute discret
Hello à tous
Google m'a indexé par mal de pages de type
monsite.com/fiches.php?id_fiches=10

Or ces pages n'existent plus.
Je voudrais que quand un visiteur clique sur l'une de ces URL, il soit redirigé vers la page monsite.com/approfondir.php

Voici mon fichier .htaccess :
Code:
RewriteEngine On
RewriteRule ^approfondir.php fiches.php?id_fiches=$1
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule ^.+\.php$ http://frenchkiss.celeonet.fr/404.php
ErrorDocument 404 http://frenchkiss.celeonet.fr/404.php

Ce que vous voye zà la suite de ma ligne de réécriture, est la gestion des pages 404 personnalisées.
Je pense qu'il y'a un conflit, car avec cette règle, aller à l'adresse fiches.php?id_fiche=XX provoque une erreur 404, au lieu de me rediriger vers la page approfondir.php.

Qqun peut-il m'éclairer ?
merci
 
WRInaute discret
Hello,

Je ne suis pas spécialiste du .htaccess mais la solution qui me parait le plus pratique serait d'avoir un script fiches.php dont le rôle serait uniquement de faire une redirection 301 (permanente) vers un ou plusieurs scripts (selon tes besoins). Le script fiches.php ne sera pas indexé si ses réponses sont toujours des codes 301.
 
WRInaute discret
:!:
J'y avais même pas pensé, merci pour l'idée :)
Je vais faire comme ça, merci bcp.
En attendant, j'aimerais bien avoir la réponse pour mon .htaccess : pourquoi est ce que ça coince ?? Par pure curiosité...
 
WRInaute passionné
Tu as fait les choses "à l'envers."
Ton htaccess :

Code:
RewriteEngine On
Activer le mod rewrite

Code:
RewriteRule ^approfondir.php fiches.php?id_fiches=$1
rediriger tous les internautes qui visitent une page dont l'url commence par approfondir.php vers la page "fiches.php" en donnant en paramètre id_fiches avec cette valeur
(si tu lis bien ma phrase, "cette valeur" ne fait référence à rien, eh bien dans cette ligne $1 ne fait justement référence à rien)

Code:
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
Ta condition pour la règle ci-dessous
Code:
RewriteRule ^.+\.php$ http://frenchkiss.celeonet.fr/404.php
Rediriger tous les internautes arrivant sur une page PHP quelconque vers la page 404 personnalisée.
Code:
ErrorDocument 404 http://frenchkiss.celeonet.fr/404.php
Là tu définis ta page 404 personnalisée

Je pense que tu vois maintenant pourquoi
fiches.php?id_fiche=XX provoque une erreur 404, au lieu de rediriger vers la page approfondir.php.
:wink:
 
Discussions similaires
Haut