redirection de pages d'erreurs
7 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
redirection de pages d'erreurs
Hello,
Donc, mieux vaut tard que jamais, je viens de me rendre compte (merci jeunZ) que mes pages dérreur étaient en 302.
Mon problème est donc le suivant :
J'utilise une page d'érreur error.php qui est appélée comme suit dans le .htaccess :
L'url finale en cas d'affichage de la page est plus complexe car il intègre des paramètres de recherche.
Des truc du genre error.php?mode=500&blabli&blablo&etencoreblabblabli&etc...
Je ne sais donc pas comment faire pour rétablir le bon http header.
jeunZ suggère d'utiliser plutot des truc du genre ErrorDocument 400 /400.php mais il fadrait alors faire du rewriting pour que 400.php soit reconnu comme /error.php?mode=400&blabli&blablo&etencoreblabblabli&etc...
Ce qui m'as pas lair bien facile si tant est que ce soit faisable.
Enfin si quelqu'un à une idée, je suis preneur.
++
Donc, mieux vaut tard que jamais, je viens de me rendre compte (merci jeunZ) que mes pages dérreur étaient en 302.
Mon problème est donc le suivant :
J'utilise une page d'érreur error.php qui est appélée comme suit dans le .htaccess :
- Code: Tout sélectionner
ErrorDocument 400 /error.php?mode=400
ErrorDocument 403 /error.php?mode=403
ErrorDocument 404 /error.php?mode=404
ErrorDocument 500 /error.php?mode=500
L'url finale en cas d'affichage de la page est plus complexe car il intègre des paramètres de recherche.
Des truc du genre error.php?mode=500&blabli&blablo&etencoreblabblabli&etc...
Je ne sais donc pas comment faire pour rétablir le bon http header.
jeunZ suggère d'utiliser plutot des truc du genre ErrorDocument 400 /400.php mais il fadrait alors faire du rewriting pour que 400.php soit reconnu comme /error.php?mode=400&blabli&blablo&etencoreblabblabli&etc...
Ce qui m'as pas lair bien facile si tant est que ce soit faisable.
Enfin si quelqu'un à une idée, je suis preneur.
++
- Code: Tout sélectionner
header('HTTP/1.1 200 OK');
tu remplace l'erreur 302 par une "erreur" 200, qui dit que la page s'est chargée correctement.
et plus aucun probleme ...
KaZhaR a écrit:
- Code: Tout sélectionner
header('HTTP/1.1 200 OK');
tu remplace l'erreur 302 par une "erreur" 200, qui dit que la page s'est chargée correctement.
et plus aucun probleme ...
héhé, le problème c'est que je ne sais pas comment envoyer le header.
Dans error.php, j'ai bien :
- Code: Tout sélectionner
switch( $mode )
{
case '400':
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_400.'.$phpEx);
$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case '401':
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_401.'.$phpEx);
$order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case '403':
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_403.'.$phpEx);
$order_by = "user_from $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case '404':
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_404.'.$phpEx);
$order_by = "user_posts $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case '500':
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_500.'.$phpEx);
$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case 'nimda':
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_nimda.'.$phpEx);
$order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case 'codered':
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_codered.'.$phpEx);
$order_by = "user_from $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case 'badua':
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_badua.'.$phpEx);
$order_by = "user_posts $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case 'noagent':
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_noagent.'.$phpEx);
$order_by = "username $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case 'noformmail':
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_noformmail.'.$phpEx);
$order_by = "user_from $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
case 'leech':
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_leech.'.$phpEx);
$order_by = "user_from $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
default:
include ($phpbb_root_path.'language/lang_' . $board_config['default_lang'] . '/lang_error_why.'.$phpEx);
$order_by = "user_regdate $sort_order LIMIT $start, " . $board_config['topics_per_page'];
break;
}
Qui me donne envie d'envoyer à ce stade le header approprié, mais je ne sais pas comment cela focntionne. Y a t il une variable ou une fonction consacrée pour apache ou est ce du pur php?
Merci de ta réponse en tous cas ...
++
ahh bah en fait il marche nikel mon truc lol.
C'etais juste $phpbb_root_path = './'; au lien de $phpbb_root_path = '/';, qui bizarrement se retrouvais dans l'url, sauf, encore plus bizarement, pour les 400.
Du coup c'est corrigé et tout marche direct.
Merci encore, rien de tel qu'une piste pour fourrer sont nez dans du code
++
C'etais juste $phpbb_root_path = './'; au lien de $phpbb_root_path = '/';, qui bizarrement se retrouvais dans l'url, sauf, encore plus bizarement, pour les 400.
Du coup c'est corrigé et tout marche direct.
Merci encore, rien de tel qu'une piste pour fourrer sont nez dans du code
++
Lol en fait ça ne marchais pas, j'avais le bon header, parce que de faire ce que j'ai fait renvoyais une pure 404 (pas de chargement de error.php), du coup l'outil wri revoyais le bon header lol, mais la page n'existait vraimebt pas.
Donc, je me suis cassé la tête sur ce bout de code :
Qui je le crois est responsable de la 302.
Le problème c'est que j'ai beau eu chercher, je n'ai rien trouver (du tout lol) sur la syntaxe de la fonction redirect, a n'y rien comprendre.
J'aurais espéré que cette fonction integre une option d'envois de header, mais je ne trouve pas.
Du coup je me demande comment faire.
1) redirect peremt il d'envoyer un header ?
2) si non, y'a it moyen, en utilisant le switch que j'ai posté plus haut, d'ajouter à ce stade le bon header calculé plus haut et comment ? (j'ai bien essayé, mais ajouter header('HTTP/1.1 200 OK'); (ou autre) avant ou après le redirect ne change rien.
3) faut il donc enviseager des règle d'url rewriting (404.php => error.php?mode=404&{query string} et comment?
Voilà si vous avez des pistes ....
++
Donc, je me suis cassé la tête sur ce bout de code :
- Code: Tout sélectionner
redirect($phpbb_root_path . 'error.' . $phpEx . '?mode=' . $mode . '&show&search_keywords=' . $searchinfo[0] . '&search_engine=' . $searchinfo[1] . '&search_engine_url=' . $searchinfo[2] . '&search_engine_count=' . $searchinfo[3] . '&search_start_time=' . (time() - $time));
Qui je le crois est responsable de la 302.
Le problème c'est que j'ai beau eu chercher, je n'ai rien trouver (du tout lol) sur la syntaxe de la fonction redirect, a n'y rien comprendre.
J'aurais espéré que cette fonction integre une option d'envois de header, mais je ne trouve pas.
Du coup je me demande comment faire.
1) redirect peremt il d'envoyer un header ?
2) si non, y'a it moyen, en utilisant le switch que j'ai posté plus haut, d'ajouter à ce stade le bon header calculé plus haut et comment ? (j'ai bien essayé, mais ajouter header('HTTP/1.1 200 OK'); (ou autre) avant ou après le redirect ne change rien.
3) faut il donc enviseager des règle d'url rewriting (404.php => error.php?mode=404&{query string} et comment?
Voilà si vous avez des pistes ....
++
7 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Redirection (PHP, JavaScript, serveur...)
- Contrer une redirection 302 intempestive...
- Aperçu des différents types de redirection
- Référencement : gestion des redirections par Yahoo
- A propos des redirections "sauvages"
- Optimiser ses codes HTTP pour le référencement
- A propos des redirections sauvages (302)
- Le détournement de page par redirection
- Comment faire des liens en dur dans son annuaire
- Comment lutter contre les mauvaises redirections 302 (temporaires)
- Redirection des erreurs
- [REGLE] Redirection 301 et erreurs
- Redirection pour les erreurs 404
- Framework et gestion des erreurs 404 (redirection ou pas?)
- Erreurs à corriger
- sitemap erreurs ?
- Erreurs sitemap
- Erreurs http
- Erreurs Apache
- Les erreurs de code et le positionnement ?
- Erreurs dans GWT
- Gestion des erreurs 404
- Robotstats v1 - Multiples erreurs
- Ya t il des erreurs sur ....
- erreurs apache par milliers
- Tester la validité d'un lien
Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum