URL Rewriting chez Free (2) : la solution sans .htaccess

Nouveau WRInaute
J'utilise avec succès la directive ErrorDocument chez free, mais à ma connaissance il est impossible de récupérer le contenu des données dans le tableau $_POST suite à la validation d'un formulaire. Faut-il se résigner a utiliser l'url non réécrite ? Cela ne posera pas de pb aux moteurs de recherche ?
 
WRInaute passionné
La réponse est là :
aravis a dit:
la validation d'un formulaire
Les robots des moteurs de recherche ne bavardent pas sur les forums (en d'autres termes, google bot, msnbot, yahoo slurp, inktomi, ne valident pas de formulaires).
 
Nouveau WRInaute
Bonjour,

J'ai voulu appliquer la solution proposée ici, mais il y a un détail qui m'échappe : la redirection vers la page 404 change également l'url, ce qui fait que mon "REQUEST_URI" indique toujours le nom de la page 404.php, et non pas la page inexistante à laquelle l'utilisateur voulait accéder. Quelqun saurait pourquoi ?

merci
 
A
Anonymous
Guest
bonjour,

beh j'arrive pas à faire cette méthode, donc si quelqu'un peut m'aider ?
 
Nouveau WRInaute
bonjour,
comment on utilise cette fonction svp

Tiens en même temps un petit cadeaux, la fonction que j'ai crée pour enlever les caractères spéciaux d'un texte afin de l'utiliser dans l'url :
Code:

function viremerde($texte)
{
for($i=0;$i< strlen($texte);$i++)
{
$n=$texte[$i];
if (($n=='é') || ($n=='è') || ($n=='ê') || ($n=='ë')) $n='e';
if (($n=='à') || ($n=='ä') || ($n=='â')) $n='a';
if (($n=='ô') || ($n=='ö')) $n='o';
if (($n>='A') && ($n<='Z')) $n=chr(ord($n)+32);
if (($n<'0') || (($n>'9') && ($n<'a')) || ($n>'z')) $n='-';
$texte[$i]=$n;
}
return $texte;
}
 
Nouveau WRInaute
bonjour,
comment on utilise cette fonction svp

Tiens en même temps un petit cadeaux, la fonction que j'ai crée pour enlever les caractères spéciaux d'un texte afin de l'utiliser dans l'url :
Code:

function viremerde($texte)
{
for($i=0;$i< strlen($texte);$i++)
{
$n=$texte[$i];
if (($n=='é') || ($n=='è') || ($n=='ê') || ($n=='ë')) $n='e';
if (($n=='à') || ($n=='ä') || ($n=='â')) $n='a';
if (($n=='ô') || ($n=='ö')) $n='o';
if (($n>='A') && ($n<='Z')) $n=chr(ord($n)+32);
if (($n<'0') || (($n>'9') && ($n<'a')) || ($n>'z')) $n='-';
$texte[$i]=$n;
}
return $texte;
}
 
WRInaute discret
bonjour
Je ne comprends pas un truc : si on gere les ré écriture par l'erreur 404, on ne peu plus utiliser alors une page d'erreur perso ?
 
WRInaute impliqué
Même si je ne me sert pas de cette astuce sur Free (ni nulle part ailleurs) je dois dire que je la trouve spécialement brillante ;)
 
WRInaute discret
Bonjour,

Ce que je pige pas, c'est comment rediriger les urls dynamiques vers error
si quelqu'un pouvait m'aider pour ca
merci
 
WRInaute accro
Je déterre ce sujet vieux comme le monde pour savoir si qqun a solutionné le problème de l'entête 404 renvoyé par free (moyen pour le référencement je pense)

test php 4 a dit:
[root@localhost zeb]# telnet *****.free.fr 80
Trying 212.27.63.125...
Connected to *****.free.fr (212.27.63.125).
Escape character is '^]'.
GET /informatique/test.asp HTTP/1.0
Host: *****.free.fr

HTTP/1.1 404 Not Found
Date: Tue, 30 Oct 2007 19:00:44 GMT
Server: Apache/ProXad [Oct 16 2007 23:25:28]
X-Powered-By: PHP/4.4.3-dev
Connection: close
Content-Type: text/html

URL : Array
(
[dirname] => /informatique
[basename] => test.asp
[extension] => asp
)

le code utilisé :

Code:
$URL = pathinfo("$REQUEST_URI");
	$vrai_chemin = $URL["basename"];
	
	echo "URL : ";
	print_r($URL);

Méthode très élégante pour coder un site derrière un composant frontal (genre de gestionnaire de requêtes) a ceci près que la réponse HTTP/1.1 404 Not Found n'est vraiment pas terrible.
 
Nouveau WRInaute
Salut,

Désolé de déterrer ce vieux topic - très intéressant ! - mais ceci me chagrine :
Eservice a dit:
Bonsoir à tous,

attention à ce genre de code :
Code:
header ("HTTP/1.0 200 Ok");
de même que celui-ci
Code:
header ("Status: 200 Ok");
le serveur renvoie (ceux de free.fr en tous cas) le code 302 "Moved Temporary", ce qui n'est pas recommandé en référencement. Plus précisemment le risque pour le référencement existe quand l'ancienne URL est déjà indexée (sinon logiquement non mais en pratique ?).

Il n'y a apparemment pas de solution dynamique pour forcer un 404 en 200 sans faire d'UR.
Effectivement tous (enfin, ceux que j'ai testés...) les autres codes fonctionnent, mais pas le 200...

Je ne vois pas comment faire pour obtenir un code 200, mais si quelqu'un a une solution, je suis preneur :wink:

On peut par contre détourner en mettant un autre code, mais lequel choisir ? Un 307 serait-il meilleur que le 302 ainsi obtenu ? Ou un 202 ? Autre ?
 
Nouveau WRInaute
On peu même pousser un peu plus loin le concept et disposer de certains possibilité offerte par l'URL rewriting...

Si j'ai le temps je ferais un autre post... Sinon bien merci pour le concept
 
Discussions similaires
Haut