|
Afhjælpning af problem med case-sensitive URL'er på UNIX-servere
En vejledning for webmastere vedr. fremstilling af en 404-fil, som kan
konvertere URL'en til små bogstaver.
This
page in english
UNIX-servere er case-sensitive - dvs. skelner mellem store og små bogstaver.
Så hvis du flytter dit website til en udbyder, der bruger UNIX, risikerer du at
få en del 404-fejl fra eksterne links (i kataloger mm.), som er skrevet med
forkerte bogstaver. Typisk er det mappenavne, der er skrevet med stort
begyndelsesbogstav i linket.
Hvis dit website ligger på en UNIX-server, vil brugerne således blive
omstillet til din 404-fejlside, hvis de klikker på et link med forkerte
store/små bogstaver eller indtaster adresserne med forkerte store/små bogstaver.
Løsning på problemet ved hjælp af en skræddersyet 404-side
Som regel er det muligt at få adgang til at redigere i dit websites fejlside.
Bare bed din webhost-udbyder om at sætte 404-siden til 404.htm i roden.
Når du har gjort det, er der to ting du skal gøre:
- Sørg for at alle filer og mapper på dit website er skrevet med små
bogstaver
- I nedenstående felt er der en kode til en 404-fejlside, som oversætter
adressen i adressefeltet (URL'en) til små bogstaver. Hvis siden så findes, er
det fint - ellers kommer der en fejlmeddelelse.
Kopiér koden til en ny side i Notepad, gem filen som 404.htm og upload den til roden af dit website. Så simpelt er det!
<html><head><title>Siden blev ikke fundet</title>
<meta name="robots" content="noindex,nofollow">
<script language=javascript>
<!--
// de tre funktioner er generelle - læs, sæt og slet en cookie med
javascript
// Funktionerne stammer fra http://www.echoecho.com/jscookies02.htm
// de nederste linjer er specifikt beregnet til 404-filer på casesensitive
servere
// de konverterer url til lowcase og tjekker om det er et problem med store
bogstaver i URL
// *** NB! - kan kun bruges, hvis alle mappenavne og filnavne på websitet er
skrevet med små bogstaver ***
// Copyright på denne del af koden: Forbrugerportalen, 2004
varURL=top.location.href;
function getCookie(NameOfCookie)
{
if (document.cookie.length > 0)
{
begin = document.cookie.indexOf(NameOfCookie+"=");
if (begin != -1)
{
begin += NameOfCookie.length+1;
end = document.cookie.indexOf(";", begin);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(begin, end));
}
}
else
{
return null;
}
}
function setCookie(NameOfCookie, value, expiredays)
{
var ExpireDate = new Date ();
ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null)
? "" : "; expires=" + ExpireDate.toGMTString());
}
function delCookie (NameOfCookie)
{
if (getCookie(NameOfCookie))
{
document.cookie = NameOfCookie + "=" + "; expires=Thu, 01-Jan-70 00:00:01
GMT";
}
}
strLowcase=getCookie('lowcase');
if (strLowcase!=null)
// Hvis cookien findes, er adressen blevet konverteret
// til små bogstaver og giver stadig en 404-fejl
{
//alert("Cookie fundet");
document.write("Siden <b>" + varURL + "</b> findes ikke.<br><br>");
document.write("<a href='/' target='_top'>Gå
til forsiden - klik her...</a><br><br>");
delCookie('lowcase');
}
else
// Hvis cookien ikke findes, konverteres adressen til små bogstaver
// for at se om det er det der giver 404-fejlen
{
//alert("Ingen cookie fundet");
setCookie('lowcase',"on",(10/86400));
// Cookien findes i 10 sekunder
// - for at håndtere at der kan opstå et lowcase-problem igen i samme
session
varURLsmaa=varURL.toLowerCase();
top.location=varURLsmaa;
}
-->
</script>
</head>
<body>
</body></html>
|
|
|