Hallå, jag ska bygga en hemsida åt ett företag med flera olika butiker.
Företaget vill att varje butik ska få en egen subdomän, alltså butik.företag.se och sedan ska innehållet på hemsidan ändras beroende på vilken butik man är på.
Jag vill inte behöva skapa en separat hemsida för varje butik, utan vill lösa detta dynamiskt beroende på vilken adress man besöker.
Nu så undrar jag hur man löser detta smidigast och vad som krävs.
Allt innehåll på sidan måste ju sparas i databas för att sedan visas hämtas utifrån adressen osv.
Webbservern har just nu IIS med PHP5 och MySQL.
Sätt upp en virtual host för varje underbutik, och sen kollar du i PHP-scripten vilken av dessa hosts som användaren besöker med $_SERVER['HTTP_HOST'].
Lita och lita, det är vad som står i HTTP-headern som klienten skickar. Om en webbläsare skickar den, är det vad den tycker att hosten den ansluter till heter. Det går att skicka skräpinnehåll (som teoretiskt kan orsaka t.ex. SQL-injektioner om man har buggig kod) om man kan HTTP, men det avhjälps med vanlig indatavalidering.
Det kräver HTTP 1.1 dock, så det funkar inte i typ IE3 ;)
Okay då förstår jag. Men finns det risk för att denna header kan vara tom eller felaktig, utan att användaren själv gjort någonting?
Jag tänker ju använda mig av HTTP_HOST för att skicka vidare besökarna till rätt innehåll och då är det mycket virktigt att inte någon skickas fel eller inte ser någonting alls.
Okay då förstår jag. Men finns det risk för att denna header kan vara tom eller felaktig, utan att användaren själv gjort någonting?
Nej, det ska det inte vara. Så länge URL:en har rätt hostnamn borde det vara lugnt. Undantaget är förstås stenåldersbrowsers som inte pratar HTTP 1.1, men de är väldigt, väldigt få till antalet nuförtiden. Och det finns nog mer i en modern webapplikation som inte funkar med sådana browsers.