I den forrige lektion så vi hvordan man kunne inkludere en fil ved at angive den relative sti til filen.
Problemet med relative stier er, at hvis filerne flyttes i forhold til hinanden virker henvisningen ikke mere. Derfor er det ofte en god idé at benytte en absolut sti til filen. Og det er netop forskellen på #Include file og #Include virtual, at du med sidstnævnte benytter en absolut sti til den fil, som inkluderes.
En absolut sti er en angivelse af en fils placering med et fast udgangspunkt. Dette faste udgangspunkt kan f.eks. være roden af sitet. Prøv at betragte følgende fuldstændige angivelse af filen george.shtml:
http://www.html.dk/tutorials/ssi/george.shtml
Hvis vi ønskede at linke til filen fra et andet website ville det være URL'en vi skulle linke til. Men hvis vi allerede befinder os på det samme domæne, som filen der refererer til, er det ikke nødvendigt at skrive hele URL'en hver gang.
Istedet startes adressen med "/" - hvilket angiver roden af sitet.
Det vil sige at vi på den måde kan referere til george.shtml sådan her:
/tutorials/ssi/george.shtml
Fordelen ved at benytte #Include virtual - og dermed absolutte stier - er, at vi frit kan flytte rundt på vores dokumenter uden at skabe problemer. Dette gælder naturligvis kun for de filer der inkluderer. Filerne der inkluderes kan ikke flyttes uden at ændre på referencerne.
Vi tager udgangspunkt i eksemplet fra forrige lektion med filen address.htm med følgende indhold:
<hr> <address> George - 1600 Pennsylvania Avenue NW - Washington, DC 20500 </address>
Filen ligger på adressen:
http://www.html.dk/tutorials/ssi/address.htm
Vi kan derfor inkludere den fra hvilken som helst fil på www.html.dk sådan her:
<html>
<title>George</title>
<head>
</head>
<body>
<h1>Hi, my name is George</h1>
<div><img src="george.jpg" alt="George"></div>
<p>Hej, mit navn er George - Jeg er en doven dreng,
så jeg bruger SSI til at inkludere adressen på alle mine sider.</p>
<!--#include virtual="/tutorials/ssi/address.htm"-->
</body>
</html>
Nej, man kan kun inkludere filer, som ligger på samme server. Følgende kan ikke lade sig gøre:
<!--#include virtual="http://www.domain.dk/filnavn.htm"-->
Hvis du har brug for at inkludere filer fra andre servere, så prøv at læse eksemplet Hent dokumenter fra andre websteder med AspHTTP.
Ellers er vi klar til den næste lektion.