diff --git a/ecrire/action/redirect.php b/ecrire/action/redirect.php
index 069640fdf07cee1af96785750b9ab080ad7e7a20..f7ab0e90ee2190ce893523d1fe9cfd8ebdaf5650 100644
--- a/ecrire/action/redirect.php
+++ b/ecrire/action/redirect.php
@@ -23,10 +23,14 @@ function action_redirect_dist()
 		$m = 'var_mode='.urlencode($m);
 	}
 	$h = generer_url_entite_absolue(intval(_request('id')), $type, $m, '', true);
+	$status = '302';
+	if (_request('status') AND _request('status')=='301')
+		$status = '301';
+
 	if ($h)
-		redirige_par_entete(str_replace('&', '&', $h));
+		redirige_par_entete(str_replace('&', '&', $h),'',$status);
 	else
-		redirige_par_entete('/');
+		redirige_par_entete('/','',$status);
 }
 
 ?>
diff --git a/htaccess.txt b/htaccess.txt
index 8e01fbcbe567a87c4e6e4a669c5b0ec9d64a68c0..c300fd0c304b2f6babb86b7ee6397dc32693cb55 100644
--- a/htaccess.txt
+++ b/htaccess.txt
@@ -85,7 +85,7 @@ RewriteRule ^spip_rss\.php3?$	spip.php?page=rss [QSA,L]
 ###
 # ping http://site/1234 => article1234
 
-RewriteRule ^([1-9][0-9]*)$     spip.php?action=redirect&type=article&id=$1 [QSA,L]
+RewriteRule ^([1-9][0-9]*)$     spip.php?action=redirect&type=article&status=301&id=$1 [QSA,L]
 
 #
 ###