RedirectPermanent / url rewriting

WRInaute passionné
Bonjour,

J'ai un probleme avec une redirection permanente d'une page provenant de l'url rewriting :

Je voudrai rediriger la page mot1-mot2-ref43.html vers mot4-mot5-ref43.html
mais le serveur me donne la page mot4-mot5-ref43.html?id_ref=43 lorsque j'utilise dans mon .htaccess ceci :

RedirectPermanent mot1-mot2-ref43.html h*tt*p://w*w*w.nom-du-site.fr/mot4-mot5-ref43.html
RewriteRule ^(.*)-ref([0-9]+)\.html$ /page.php3?id_ref=$2 [QSA,L]

Alors j'ai egalement essayé la solution suivante mais ca m'indique une page non trouvée :

RewriteEngine on
RewriteRule ^mot1-mot2-ref43.html$ /mot4-mot5-ref43.html [QSA,L,R=301]
RewriteRule ^(.*)-ref([0-9]+)\.html$ /page.php3?id_ref=$2 [QSA,L]

Un grand merci à tous ceux qui pouront m'aider
 
Nouveau WRInaute
si j'ai bien compris, essaie comme ca :

RewriteEngine on
RewriteRule ^mot1-mot2-ref43.html$ /mot4-mot5-ref43.html [QSA,R=301]
RewriteRule ^(.*)-ref([0-9]+)\.html$ /page.php3?id_ref=$2 [QSA,L]
 
WRInaute passionné
En fait j'avais essayé ca et dans mon post un L c'est glissé avant R=301
mais ca me donne une page non trouvé !!
 
WRInaute discret
Avec Nuke...

Bonjour à tous !

J'ai essayé l'URL Rewriting dans 2 cas avec succès :

Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^index-([rub]+)-([0-9]+)\.html$  index.php?hub=aff_rub&idRub=$2  [L]
RewriteRule ^index-([news]+)-([0-9]+)\.html$  index.php?hub=aff_news&idNews=$2  [L]

Maintenant je voudrais l'utiliser pour rediriger des anciennes pages de Nuke et là... c'est le drame ça ne fonctionne pas :
Code:
RewriteRule ^modules.php?name=([News]+)&file=([print]+)&sid=([0-9]+)$ index.php?hub=aff_news&idNews=$3 [R=301]

Quelqu'un pourrait m'aider ? J'ai essayé en échappant le . de module.php sans succès...

Ah oui pour info j'utilise aussi :
Code:
ErrorDocument 404 h*t*tp://w*w*w.fcbarcel****.com/index.php?erreur=404
 
WRInaute passionné
Salut,
il est impossible à Apache, dans les règles de réécriture, de savoir ce qu'il y a après le point d'interrogation.
Donc tu ne peux pas faire de règle de ce type.

Si redirection il faut, alors il faudra la faire directement dans le fichier php.
Prise de tête en vue, et qui ne sert à rien si ton site est peu, ou pas, indexé à ce jour.
 
WRInaute discret
Merci pour cette réponse rapide (même si c'est une mauvaise nouvelle :lol: )

Et bien il y a 10 300 pages indexées... A la base un portail Nuke et là j'ai fait un CMS maison...
 
WRInaute discret
J'ai eu une idée ce matin pour mon problème. J'ai mis une page modules.php avec ceci :

Code:
<?php
if (isset($_GET['sid'])) {
	$id_news = $_GET['sid'];
	header("Status: 301 Moved Permanently", false, 301);
	header("Location: h*t*t*p://www.fcb*******aclan.com/index-news-".$id_news.".html");
	exit();
}
elseif (isset($_GET['new_topic'])) {
	$id_rub = $_GET['new_topic'];
	header("Status: 301 Moved Permanently", false, 301);
	header("Location: h*t*t*p://www.fcb*******aclan.com/index-rub-".$id_rub.".html");
	exit();
}
else {
	header("Status: 410 Gone");
	header("Location: h*t*t*p://www.fcb*******aclan.com/index.php");
	exit();
}
?>

Bye Bye PHP Nuke :D
 
Discussions similaires
Haut