Avatar billede bahn Nybegynder
31. januar 2010 - 12:17 Der er 19 kommentarer og
1 løsning

404 fejl side

Hej Jeg har lavet en 404 fejlside.

Brugeren bliver sendt der til med htaccess.

jeg vil gerne have nogle variabler med oplysninger om hvilken siden der blev forsøgt indlæst

og hvilken side folk kom fra.

jeg har syslet lidt med nedenstående og kan ikke få det til at virke.
jeg kører med php5!

$ip = $_SERVER['REMOTE_ADDR'];
$requri = $_SERVER['REQUEST_URI'];
$servname = $_SERVER['SERVER_NAME'];
$combine = $ip . " tried to load " . $servname . $requri ;

$httpref = $_SERVER['HTTP_REFERER'];
$httpagent = $_SERVER['HTTP_USER_AGENT'];
$today = date("d m Y H:i:s");
$message = "$today \n<br>$combine <br> \nUser Agent = $httpagent \n<br> $httpref ";

men alle de spændene variabler som request_uri og http_referer giver ikke noget.

er det fordi de er blevet vidrestillet at htaccess?
og kan man få htaccess til at sende nogle af disse variabler med, hvis det er tiifældet?
Avatar billede repox Seniormester
31. januar 2010 - 14:11 #1
Hvis du har brugt ErrorDocument direktivet, burde det virke. Det virker fint hos mig, i hvert tilfælde.

Link til test?
Avatar billede bahn Nybegynder
31. januar 2010 - 21:41 #2
dette er den første linie i htaccess:
ErrorDocument 404 http://www.bahn-larsen.dk/404.php

variablerne bliver ikke vist på siden de bliver sendt i en mail
Avatar billede repox Seniormester
31. januar 2010 - 21:47 #3
Fjern http delen og nøjes med at skrive:
ErrorDocument 404 /404.php
Avatar billede bahn Nybegynder
31. januar 2010 - 21:57 #4
Det lyder som en rigtig god ide.

det prøver jeg lige af!
Avatar billede bahn Nybegynder
31. januar 2010 - 22:18 #5
det hjalp på requst uri
og så vidt jeg kan læse mig til er dt ikke qltid at http_referer indeholder noget.

tak for hjælpen kom med et svar.

har du en ide til hvordan man kan se fra hvilken side folk klikkede på det dårlige link?
Avatar billede repox Seniormester
31. januar 2010 - 22:32 #6
Det er kun HTTP_REFERER der kan fortælle dig det, desværre - og som du allerede har konstateret er det ikke en du kan regne med.
Avatar billede bahn Nybegynder
31. januar 2010 - 22:42 #7
OK tak for hjælpen
Avatar billede bahn Nybegynder
01. februar 2010 - 14:05 #8
jeg har lige et lille problem mere

denne linie:
RewriteRule ^produkt/[a-z]+/(.+)/$ produkt/vis_ny.php?maskine=$1

denne linie virker:
http://www.bahn-larsen.dk/produkt/haekkeklipper/stiga-shj-550/

virker ikke:
http://www.bahn-larsen.dk/produkt/haekkeklipper/stiga-shj-550

hvis man sletter den sidste skråstreg virker linket ikke

jeg har prøvet med
RewriteRule ^produkt/[a-z]+/(.+)/?$ produkt/vis_ny.php?maskine=$1
? efter den sidste skråstreg med det bliver virkelig noget lort

er det fordi den er gal med (.+)??
Avatar billede repox Seniormester
01. februar 2010 - 14:14 #9
uhm, nej, du fortæller den vist at den skal slutte med en skråstreg - prøv med
RewriteRule ^produkt/[a-z]+/(.*)$ produkt/vis_ny.php?maskine=$1
Avatar billede bahn Nybegynder
01. februar 2010 - 14:25 #10
jeg vil gerne at den kan både med og uden /
Avatar billede repox Seniormester
01. februar 2010 - 14:32 #11
Det var jo sådan set også meningen med mit forslag? Har du prøvet det?
Avatar billede bahn Nybegynder
01. februar 2010 - 14:43 #12
Jeg har prøvet det, det kokser helt og aldeles

det er lidt mærkelig for denne linie virker så man kan både med og uden /

RewriteRule ^produkt/([a-z]+)/?$ produkt/fordeling.php?type=$1
Avatar billede repox Seniormester
01. februar 2010 - 14:47 #13
Hvordan 'kokser' det? Er det URL'en der kokser, eller er det dit script der ikke kan håndtere det. Og hvis den linie du har lavet der, virker, hvorfor så ikke ikke bare bruge den?
Avatar billede bahn Nybegynder
01. februar 2010 - 15:06 #14
det er nok mit script der ikke kan klare det

jeg har to linier

RewriteRule ^produkt/([a-z]+)/?$ produkt/fordeling.php?type=$1
den klar kategorierne havetraktor osv.

RewriteRule ^produkt/[a-z]+/(.+)/$ produkt/vis_ny.php?maskine=$1
og den anden klarer produkterne

og den overste kan man både kører med og uden /

men hvis jeg sætter ? ind efter / altså:
RewriteRule ^produkt/[a-z]+/(.+)/?$ produkt/vis_ny.php?maskine=$1
bliver maskinerne ikke vist
Avatar billede repox Seniormester
01. februar 2010 - 15:31 #15
Jeg tror dit problem er de relative stier; prøv lige dem her:
RewriteRule ^produkt/([a-z]+)/?$ /produkt/fordeling.php?type=$1 [L,QSA]
RewriteRule ^produkt/[a-z]+/(.+)/?$ /produkt/vis_ny.php?maskine=$1 [L,QSA]
Avatar billede bahn Nybegynder
01. februar 2010 - 15:49 #16
hvordan skriver man hvis der må være a-z 0-9 og -
[a-z0-9]- eller hvad?
Avatar billede repox Seniormester
01. februar 2010 - 15:59 #17
Jeps.
Avatar billede bahn Nybegynder
01. februar 2010 - 16:12 #18
Det her bliver vist løsningen

RewriteRule ^produkt/[a-z]+/(.+)/$ /produkt/vis_ny.php?maskine=$1
RewriteRule ^produkt/[a-z]+/(.+).htm$ /produktvis_ny.php?maskine=$1

også laver jeg koden om til at generere links med så den skriver:
http://www.bahn-larsen.dk/produkt/haekkeklipper/stiga-shj-550.htm
istedet

Så beholder jeg den gamle sti eller er det dumt mht google?
hvad syntes du?
Avatar billede bahn Nybegynder
01. februar 2010 - 16:13 #19
og hvordan afsætter man flere point?
Avatar billede repox Seniormester
01. februar 2010 - 17:10 #20
Var der noget i vejen med det løsningforslag jeg kom med, da?
Det virkede fint for mig.

Du kan ikke afsætte flere point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester