URL Rewriting et Redirection 301
Résolu
f123b
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
f123b Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
f123b Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
bonsoir, j'ai un problème de redirection 301 dans le htaccess:
j'ai des urls de cette forme: search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4
j'utilise la règle suivante dans le htaccess:
RewriteEngine On
RewriteRule (.*)-(.*)-(.*)-(.*)\.html$ /search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4 [L]
pas de problème les url sont bien réécrites,
par contre ces données proviennent d'un formulaire qui utilise la méthode get et qui appelle le fichier search.php.
Comment faire sans utiliser de header location ou de javascript, donc avec le htaccess pour avoir une redirection 301 quand on soumet le formulaire?
j'ai essayer des règles de ce style:
RedirectPermanent /search.php?keyword=(.*)&categorie=(.*)&page=(.*)&plusmoins=(.*) /$1-$2-$3-$4\.html
mais ca ne fonctionne pas (boucle infini).
peut être en utilisant RewriteCond %{QUERY_STRING} ... mais j'arrive pas à formuler la syntaxe.
j'ai des urls de cette forme: search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4
j'utilise la règle suivante dans le htaccess:
RewriteEngine On
RewriteRule (.*)-(.*)-(.*)-(.*)\.html$ /search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4 [L]
pas de problème les url sont bien réécrites,
par contre ces données proviennent d'un formulaire qui utilise la méthode get et qui appelle le fichier search.php.
Comment faire sans utiliser de header location ou de javascript, donc avec le htaccess pour avoir une redirection 301 quand on soumet le formulaire?
j'ai essayer des règles de ce style:
RedirectPermanent /search.php?keyword=(.*)&categorie=(.*)&page=(.*)&plusmoins=(.*) /$1-$2-$3-$4\.html
mais ca ne fonctionne pas (boucle infini).
peut être en utilisant RewriteCond %{QUERY_STRING} ... mais j'arrive pas à formuler la syntaxe.
A voir également:
- URL Rewriting et Redirection 301
- Url - Guide
- Ping url ✓ - Forum Windows
- Comment changer url iptv - Forum Créer un site
- Atlas pro url serveur invalide - Forum TV & Vidéo
- Avertissement de redirection ✓ - Forum Réseaux sociaux
3 réponses
Logique que cela fasse une boucle infinie, chacune de tes règles s'inversant mutuellement.
Une solution simple serait que
"RewriteRule (.*)-(.*)-(.*)-(.*)\.html$ /search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4 [L]"
devienne
"RewriteRule (.*)-(.*)-(.*)-(.*)\.html$ /search.php?do=access&keyword=$1&categorie=$2&page=$3&plusmoins=$4 [L] "
où "do=access" ou n'importe quelle assignation de valeur empêche l'autre règle d'agir.
Une solution simple serait que
"RewriteRule (.*)-(.*)-(.*)-(.*)\.html$ /search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4 [L]"
devienne
"RewriteRule (.*)-(.*)-(.*)-(.*)\.html$ /search.php?do=access&keyword=$1&categorie=$2&page=$3&plusmoins=$4 [L] "
où "do=access" ou n'importe quelle assignation de valeur empêche l'autre règle d'agir.
Bonsoir et merci d'avoir répondu mais j'ai essayé et ca ne marche pas, je ne comprend pas bien pourquoi rajouter une variable. Ce que je cherche a faire c'est une redirection permanente des anciennes URL vers les URL rewrité.
Donc des url:
search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4
j'obtient les URL:
$1-$2-$3-$4\.html
avec la règle:
RewriteRule (.*)-(.*)-(.*)-(.*)\.html$ /search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4 [L]
Ca ca marche, maintenant je voudrais écrire une règle qui me fais une redirection 301 des URL:
search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4
vers les URL rewrité:
$1-$2-$3-$4\.html.
Par exemple si je tape "lcd" dans mon formulaire de recherche, ca me génère l'URL:
search.php?keyword=lcd&categorie=$2&page=$3&plusmoins=$4
je la rewrite sous la forme:
lcd-$2-$3-$4.html
Comment effectuer une redirection 301 de l'url qui vient du formulaire vers l'url rewrité:
lcd-$2-$3-$4.html??
Peut-on mettre ces 2 règles dans le même .htacess?? Ou est ce qu'il y a une autre méthode sans javascript ou header location??
Donc des url:
search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4
j'obtient les URL:
$1-$2-$3-$4\.html
avec la règle:
RewriteRule (.*)-(.*)-(.*)-(.*)\.html$ /search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4 [L]
Ca ca marche, maintenant je voudrais écrire une règle qui me fais une redirection 301 des URL:
search.php?keyword=$1&categorie=$2&page=$3&plusmoins=$4
vers les URL rewrité:
$1-$2-$3-$4\.html.
Par exemple si je tape "lcd" dans mon formulaire de recherche, ca me génère l'URL:
search.php?keyword=lcd&categorie=$2&page=$3&plusmoins=$4
je la rewrite sous la forme:
lcd-$2-$3-$4.html
Comment effectuer une redirection 301 de l'url qui vient du formulaire vers l'url rewrité:
lcd-$2-$3-$4.html??
Peut-on mettre ces 2 règles dans le même .htacess?? Ou est ce qu'il y a une autre méthode sans javascript ou header location??