Comment rediriger en 301 toutes les 404 vers une page précise ?

Nouveau WRInaute
Olivier Duffez (admin)
Membre du personnel
le code de Furtif génère une 302 ce qui n'est pas bon.
le code de spout génère bien une 404 comme il faut. ça ne fait pas de redirection comme semble le demander Arnoldey mais il ne faut pas rediriger les 404
 
WRInaute passionné
le code de spout génère bien une 404 comme il faut. ça ne fait pas de redirection comme semble le demander Arnoldey

Peut-être faire une page d'erreur en PHP qui effectue la redirection, et avant envoie le code 301, si on veut absolument un 301 au lieu d'un 302 :

ErrorDocument 404 /laredirection.php

laredirection.php :
PHP:
<?php
header('Status: 301 Moved Permanently', false, 301);
header('Location: /blog/');
exit();
?>
 
Nouveau WRInaute
Merci Rick, ton code fonctionne parfaitement et c'est exactement ce que je voulais :) merci bcp !
Il me reste uniquement ma page d'accueil, cad http://www.monsite.com qui actuellement affiche :
Index of / et qui liste les fichiers à la racine du dossier de mon site. Je voudrais également faire une R301 de la home vers l'URL http://www.monsite.com/blog/ mais je ne trouve pas comment faire.
J'ai testé beaucoup de lignes différentes dans mon .htaccess mais souvent ça fait des redirection vers http://www.monsite.com/blogblogblogblogblogblog... ou encore http://www.monsite.com/blog/blog/blog/blog/
Tu saurais quelle ligne je dois mettre dans mon htaccess STP ?
Pour le moment j'ai testé des choses comme ceci :
Redirect 301 /http://www.monsite.com /blog/
Redirect 301 /http://www.monsite.com/ /blog/
Redirect 301 http://www.monsite.com /blog/
Redirect 301 /http://www.monsite.com /blog
etc.
Merci pour ton aide :D
 
WRInaute passionné
D'abord je me suis aperçu que ma 1ère ligne est sans doute inutile, car header('Location: /blog/', true, 301); peut normalement indiquer aussi le code 301.

Je pense que tu peux faire :
Code:
RewriteRule ^$ /blog/ [R=301,L]
 
Discussions similaires
Haut