Redirection permanente php problématique

WRInaute discret
Bonjour,

J'ai créé une page rch.php qui est appelé par rch.php?q=nimportekoi

Dans cette page rch.php, j'ai mis :
Code:
<?php
$recherche = $q;
$adresse = "http://www.domaine.net/recherche/".$recherche."?q=".$recherche;
header("HTTP/1.1 301 Moved Permanently");
header("Location: $adresse");
exit;
?>

Il me renvoi une page d'erreur 500. D'où pourai venir le problème?
 
WRInaute discret
C'est pas plutot ca que tu veux faire ?

Code:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.domaine.net/recherche/?q=".$recherche);
exit;
?>

En fait, ca n'a rien a voir avec l'URL Rewriting.
Mais je suis curieux de voir dans quel cadre tu fais ca.
 
WRInaute discret
En fait, c'est pour faire marcher un moteur de recherche. Le formulaire envoie la requète dans l'url sur "rch.php?q=requete". Je désire que cette page renvoi sur une page "http://www.domaine.com/recherche/requete/?q=requete"
 
WRInaute discret
Je vois pas l'intéret de rediriger vers -http://www.domaine.com/recherche/requete/?q=requete

si c'est rewrité, pkoi indiqué la variable ?
 
WRInaute discret
En fait mon script de recherche ne marche pas si je l'appelle par "-http://www.domaine.com/recherche/requete"... Mais dans l'idéal c'est ce que je désire faire.

Voila ce que j'ai pour la réécriture (cela vient peut-être de cela) :
Code:
RewriteRule ^recherche/(.*)$  /recherche.php?q=$1  [QSA,L]
 
WRInaute discret
Ya de fortes chances.
Les erreurs 500 sont souvent dues a une erreur de configuration, les .htaccess en sont bien souvent la cause.
 
WRInaute discret
Ca fait un bail que j'ai pas rewrité, mais il ne manque pas un "+" ?
Et le "/" de répertoire après la requête.
 
WRInaute discret
Tu veux dire quelque chose comme ça ?
Code:
RewriteRule ^recherche/(.*)/$  /recherche.php?q=$1  [QSA,L]

Un "+"? Que veux-tu dire par là?
 
WRInaute discret
J'ai essayé

Code:
RewriteRule ^recherche/(.*)+$  /recherche.php?q=$1  [QSA,L]

ainsi que :

Code:
RewriteRule ^recherche/(.*)+/$  /recherche.php?q=$1  [QSA,L]

cela ne fonctionne toujours pas. Il semblerai que la variable q ne soit pas transmise...
 
Discussions similaires
Haut