Toon posts:

[PHP/Apache] referer achterhalen 404 pagina

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi beste Tweakers,

Ben bezig met het bouwen van een klantvriendelijke 404-pagina. Als iemand een verkeerde url intoetst, bijvoorbeeld
code:
1
http://site.nl/ditisdeverkeerdeurl.html
, dan komen ze netjes terecht op m'n 404 pagina
code:
1
http://site.nl/404/
. De server handelt dit verder af (htaccess Errordocument etc)

Wat ik wil is dat een php-script nu de url pakt van de foute pagina en dit vervolgens aan m'n interne zoekmachine voert als query. Dan krijg je dus een mooie foutpagina met zeer relevante suggesties.

Anyway, het lukt me dus niet om de foute url te bemachtigen :(

Wat heb ik al geprobeerd is alle $_SERVER variabelen op te vragen, bijvoorbeeld met:
PHP:
1
foreach($_SERVER as $a=>$b) print "$a - $b<br>";
veelgenoemde oplossingen zoals
PHP:
1
$_SERVER['REDIRECT_URL'];
en
PHP:
1
$_SERVER['REQUEST_URI'];
werken dus ook niet :(

wellicht is het ook handig om te weten dat mijn foutpagina's ook gerewrite worden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
## Rewrite error pages
RewriteRule ^400/$                                     pages/400.php [L]
RewriteRule ^401/$                                     pages/401.php [L]
RewriteRule ^403/$                                     pages/403.php [L]
RewriteRule ^404/$                                     pages/404.php [L]
RewriteRule ^500/$                                     pages/500.php [L]

## Error docs
ErrorDocument 400 /400
ErrorDocument 401 /401
ErrorDocument 403 /403
ErrorDocument 404 /404
ErrorDocument 500 /500


Ik denk dat hier de fout zit, maar weet nog niet hoe het op te lossen

p.s.: server: freebsd 5.5, php5.2.4

[ Voor 58% gewijzigd door Verwijderd op 13-06-2008 18:43 ]


  • ValHallASW
  • Registratie: Februari 2003
  • Niet online
Bedenk wel dat het ongelofelijk irritant is als je vanaf

http://site.nl/ditisdeverkeerdeurl.html

opeens op

http://site.nl/404/

terecht komt omdat je een typo hebt gemaakt oid. Als je dat doet ben je meteen ook je probleem van de paginanaam kwijt :)

Verwijderd

Topicstarter
Ik ga dat eens uitproberen, maar het wordt wel op de server geregeld dat die 404 pagina getoond wordt. Ben bang dat ik niet kan voorkomen dat ik op de 404-pagina, inclusief url, uitkom :(

[ Voor 79% gewijzigd door Verwijderd op 13-06-2008 20:35 ]


Verwijderd

Topicstarter
ik ben eruit; het ging stuk omdat ik eerst een rewrite toepaste. Voor de volledigheid. Dit staat nu in de .htaccess
code:
1
2
3
4
5
6
## Error docs
ErrorDocument 400 /400.php
ErrorDocument 401 /401.php
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 500 /500.php
Ik heb de php bestanden verplaatst naar de webroot. Doordat ik een rewrite has toegepast, werd de user door de server naar de nieuwe 404pagina gestuurd, waardoor de $_SERVER['HTTP_REFERER'] verplaatst werd

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waar hoort mijn topic?
PRG >> WSS

Dit gaat immers over rewriterules.

[ Voor 15% gewijzigd door RobIII op 13-06-2008 22:50 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij