SSI (Server Side Includes)
Att behöva skriva samma kod manuellt i flera filer tar
onödigt lång tid och är dessutom ett ganska dåligt sätt att arbeta på. Det kan
bli ordentligt mycket extraarbete när det är dags att ändra någonting,
exempelvis layout, eftersom man då måste göra samma ändringar i alla filer. Den
här lektionen skall nu visa hur du med hjälp av en teknik som kallas för SSI
(Server Side Include) kan bygga upp din webbplats på ett sätt som gör det
barnsligt enkelt att göra ändringar i flera hundra, eller tusentals, filer
samtidigt.
SSI är inget som enbart förekommer i ASP-filer,
SSI-strängar går alldeles utmärkt att använda i vanliga HTML-filer, bara
servern har stöd för det. Låt oss börja med att förklara vad SSI är, det är ett
sätt att infoga innehåll från en fil i andra filer.
Nyttan med att kunna infoga kod i filer från andra filer
är i första hand att det blir enkelt att göra ändringar vid ett senare
tillfälle. Det finns huvudsakligen två olika typer av kommandon som du kan
använda för att infoga innehåller från andra filer - virtual och file.
Virtual och File
Likheten mellan dessa två kommandon är stor, enda
skillnaden är hur sökvägen till filen blir.
File fungerar som t ex sökvägen till en bild i html.. Om
filen t ex ligger i en undermapp som heter "mapp" så blir sökvägen
alltså "mapp/fil.inc".
Virtual hämtar filen med utgångsläge från rooten av
servern, alltså startmappen. Virtual har den fördelen att sökvägen alltid
kommer att fungera även om du flyttar på sidan som innehåller koden.
Hur gör man nu då?
Att skriva en SSI-sträng är enkelt, de ser ut ungefär som
vanliga kommentarer i HTML.
<!--
#Include File="fil.inc" -->
När du skall skriva en SSI-sträng börjar du med att skriva
en vanlig kommentar, som i HTML, därefter en fyrkant (#) tätt följt av include.
Nu har du startat ett SSI-kommando, nu skall du bara tala om vad det skall
göra, i det här fallet infoga en fil. Det gör du genom att skriva
Filel="fil.inc".
Nu är det viktigt att det finns en fil som heter just
fil.inc, om inte så kommer ingenting att infogas. Om filen fil.inc hade legat i
en annan mapp hade du bara lagt till sökvägen framför filnamnet.
<!--
#include virtual="filer/inc/fil.inc" -->
Observera att det finns ingen snedstreck (/) eller bakvänt
snedstreck (\) efter det första citationstecknet. Om du lägger till ett sådant
tecken där kommer sökvägen inte att utgå från hårddisken, utan ifrån den lokala
mapp som filen där SSI-strängen ligger finns, och då blir det ofta fel.
Teknik
Som du säkert noterat så använder jag filändelsen .inc på
de filer som jag infogat i exemplen tidigare. Inc står för include (sv.
inkludera), detta är ingenting man måste döpa de filer som man skall inkludera
till. Det går lika bra med .asp, .html, .htm eller faktiskt också .myrslok.
Det viktigaste är att du bestämmer en standard som du
använder dig av, exempelvis .inc, då är det lättare att direkt se vilka filer
som är inkluderingsfiler. Om du exempelvis har byggt upp din webbplats med
SSI-filer, så är det också lämpligt att placera alla inkluderingsfiler i en och
samma mapp, för att du på så vis skall veta var någonstans du har dem.