[PHP/CSS] 3 domeinen, 2 layouts, 1 site

Pagina: 1
Acties:

  • w00d
  • Registratie: Juni 2004
  • Laatst online: 26-11 11:22
De situatie

Voor een klant moet ik een nieuwe website maken. Deze klant heeft echter 2 bedrijven onder allebei een eigennaam, maar ze zijn verder gelijk. Voor deze bedrijven moet er een website komen wat opzicht geen probleem is uiteraard.

Het probleem

De bedoeling is dat als een bezoker binnen komt via www.bedrijf1.nl de naam van het bedrijf1 te zien krijgt in de layout en tevens zal er een menu item veranderen en uiteraard als de bezoeker via www.bedrijf2.nl binnen komt zal de naam dus anders zijn.

Nu zit de naam ook een logo verwerkt dus zou het mooiste zijn als ik voor beide domeinen een eigen css sheet kan maken. en dat er dus wordt bekeken vanaf welk domein de bezoeker binnen komt en aan de hand daarvan bepaald wordt welke stylesheet te gebruiken.

Nu zit ik te denken aan zoals iets als dit:
code:
1
2
3
<!--[if ie]>
<link rel="stylesheet" type="text/css" href="layoutIE6.css" />
<![endif]-->


Maar hoe doe ik dit nu voor die domein namen en kan dit uberhaupt wel?

Verwijderd

je kan met PHP eventueel ophalen welke URL er is opgevraagd... hier kan je dan conditioneel een andere stylesheet laden.

pseudo:
PHP:
1
2
3
4
5
6
$website = $_SERVER['HTTP_HOST'];
if($website=="een.nl") {
echo "<link rel="stylesheet" type="text/css" href="layoutIE6_een.css" />";
} else if ($website=="twee.nl") {
echo "<link rel="stylesheet" type="text/css" href="layoutIE6_twee.css" />";
}


edit ps: Is de topictitle, 1 layout, 2 stylesheets voor 2 domeinnamen niet een betere?

edit2: pseudo code even verbeterd om cheetah's opmerkingen te weerspigelen

[ Voor 24% gewijzigd door Verwijderd op 21-11-2006 18:44 ]


Verwijderd

Ja, het kan. Het best kun je hiervoor een server-side script gebruiken, PHP dus in jouw geval. Je moet er ten eerste voor zorgen dat de webserver zo geconfigureerd is, dat alle 3 de domeinnamen verwijzen naar hetzelfde hosting account. Daar maak je met een PHP script een selectie voor een bepaalde stylesheet aan de hand van de hostname die wordt meegestuurd in de request: $_SERVER [ 'HTTP_HOST' ]

Het is absoluut niet ingewikkeld.

  • w00d
  • Registratie: Juni 2004
  • Laatst online: 26-11 11:22
edit ps: Is de topictitle, 1 layout, 2 stylesheets voor 2 domeinnamen niet een betere?
Misschien wel, maar zie niet de mogelijkheid om het te veranderen...

Mare verder dat is inderdaad wat ik bedoel / zoek en idd het is totaal niet ingewikkeld, je moet alleen de code weten ;)

Verwijderd

w00d schreef op dinsdag 21 november 2006 @ 18:48:

Mare verder dat is inderdaad wat ik bedoel / zoek en idd het is totaal niet ingewikkeld, je moet alleen de code weten ;)
Nee, je moet de methode weten. De code volgt daaruit vanzelf.

Verwijderd

w00d schreef op dinsdag 21 november 2006 @ 18:48:
[...]


Misschien wel, maar zie niet de mogelijkheid om het te veranderen...

Mare verder dat is inderdaad wat ik bedoel / zoek en idd het is totaal niet ingewikkeld, je moet alleen de code weten ;)
De code die ik heb geplaatst is prima bruikbaar, na eventueel wat debugs... als je het gewoon probeert kan je hier eventueel opnieuw concrete dingen vragen. Het aanroepen van verschillende css files geeft je namelijk op verschillende vlakken volledige vrijheid, lay-out, kleurgebruik e.d. kun je dan allemaal differentieren. De vraag is alleen of je niet wil differentieren is teksten... als dat het geval is, moet je denk ik wel wat meer doen om dit te bereiken... bijvoorbeeld gebruik maken van een database voor je teksten, want ik voorspel je als je 1 brondocument gaat gebruiken voor 2 lay-outs met verschillende (inline) teksten ben je denk ik op meerdere vlakken niet echt verstandig bezig... het veranderen van teksten wordt daarmee namelijk totaal onbeheersbaar.

edit: typo
Pagina: 1