CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [PHP] récupérer adresse avant redirection .htaccess (err.404)

News culture
La Planète des Singes : Le Nouveau Royaume - la révolution simienne est en marche !
DébutPage précedente
1
Page suivantePage suivante
flash_2001 flash_2001
MP
Niveau 10
31 janvier 2015 à 22:49:12

Bonjour,

Est-il possible de récupérer l'adresse vers laquelle un visiteur se dirigeait et qui l'a amené vers une page d'erreur 404 ?
$_SERVER["HTTP_REFERER"] pointe vers la dernière page fonctionnelle (donc ne donne pas l'adresse qui a envoyé vers 404)
$_SERVER['REQUEST_URI'] pointe vers la page 404

Pour faire plus simple imaginons que l'admin se plante dans l'écriture d'un lien d'une page (imaginons que nous sommes sur index.php pour faire simple) :
<a href="coucou2.php">
au lieu de
<a href="coucou1.php">
et que du coup la page redirige vers erreur404.php (grâce au .htaccess)

$_SERVER["HTTP_REFERER"] donnera index.php
$_SERVER['REQUEST_URI'] donnera erreur404.php
?????? donnera coucou2.php

Je souhaite récupérer : coucou2.php (le lien incriminé qui a renvoyé vers erreur404 grâce au .htaccess)

Merci

gromouton gromouton
MP
Niveau 6
01 février 2015 à 02:32:02

besoin de ton htaccess

normalement t'as qlq chose du genre pour récupérer la redirection
ErrorDocument 404 /error/erreur404.php
et non
ErrorDocument 404 http://monsite.com/error/erreur404.php

un peu de doc :
http://httpd.apache.org/docs/current/mod/core.html#errordocument

Message édité le 01 février 2015 à 02:36:45 par gromouton
flash_2001 flash_2001
MP
Niveau 10
01 février 2015 à 16:47:47

ErrorDocument 404 /error/erreur404.php ne me récupèrerait pas le lien erronné mais redirigerait vers le fichier erreur404.php stocké dans un dossier error en cas d'erreur 404.

Idem pour la doc apache qui explique les différentes façon de faire des redirections mais n'explique pas comment récupérer le lien erroné qui a amené à une erreur 404.

Ou alors j'ai pas tout pigé :rire:

Message édité le 01 février 2015 à 16:48:25 par flash_2001
deepblue deepblue
MP
Niveau 13
01 février 2015 à 16:54:36

Passe en paramètre de ta page d'erreur la page qui a générée la 404.

flash_2001 flash_2001
MP
Niveau 10
01 février 2015 à 16:57:46

Bonne idée !

Mais je fais ça comment du coup ?

gromouton gromouton
MP
Niveau 6
01 février 2015 à 23:45:52

Pour le htaccess je t'ai expliqué comme bien rediriger vers la page 404 avec une adresse RELATIVE , tu crées ce fichier avec le bon chemin que tu as indiqué dans le htaccess et dedans tu récupères l'url avec $_SERVER["REQUEST_URI"]

tiens moi au courant car tu n'as pas montré ton htaccess pour savoir si l'erreur venait de là

Message édité le 01 février 2015 à 23:48:50 par gromouton
gromouton gromouton
MP
Niveau 6
01 février 2015 à 23:56:13

Ps: pour moi c'est expliqué dans le lien que je t'ai donné :

Notez que lorsque vous spécifiez une directive ErrorDocument pointant vers une URL distante (c'est à dire tout ce qui commence par le préfixe http), le serveur HTTP Apache va envoyer une redirection au client afin de lui indiquer où trouver le document, même dans le cas où ce document se trouve sur le serveur local. Ceci a de nombreuses conséquences dont la plus importante réside dans le fait que le client ne recevra pas le code d'erreur original, mais au contraire un code de statut de redirection. Ceci peut en retour semer la confusion chez les robots web et divers clients qui tentent de déterminer la validité d'une URL en examinant le code de statut. De plus, si vous utilisez une URL distante avec ErrorDocument 401, le client ne saura pas qu'il doit demander un mot de passe à l'utilisateur car il ne recevra pas le code de statut 401.

C'est pourquoi, si vous utilisez une directive ErrorDocument 401, elle devra faire référence à un document par le biais d'un chemin local.

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : Thymotep
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment