XAMPP met meerdere sites / en / met absolute url-links
HTDOCS\Website1
HTDOCS\Website2
HTDOCS\WebsiteN
Dus de absolute link http://www.website1.nl/mapjeopwebsite1/bestandje.php heb ik veranderd in de relatieve link /website1.nl/mapjeopwebsite1/bestandje.php en dan kan ik hem wel testen op mijn pc. Echter, wanneer ik hem dan live maak op het net, dan maakt hij van die relatieve link /website1.nl/website1.nl/mapjeopwebsite1/bestandje.php, doordat je je op dat moment al in website1.nl bevindt.
Iemand een suggestie om dit op te lossen?
Definieer een constante voor de root ergens in je globale configuratie. Die is dan lokaal bijvoorbeeld de string 'http://www.website1.nl/mapjeopwebsite1/' en remote 'https://www.example.com/'.
Allereerst, en meest belangrijk, is waarschijnlijk dat je een soort van linkfunctie1 gaat gebruiken binnen deze sites. Deze kun je dan opbouwen aan de hand van configuratie. Hiermee kun je dan ook een domein instellen. Ik zou je ook zeker aanraden om complete/absolute URL's te gaan/blijven gebruiken. Met relatieve URL's blijft er ruimte open voor interpretatie.
Doordat je gebruik maakt van een linkfunctie voor (alle) interne links houd je je site(s) portabel. Ook hoef je wijzigingen maar op één plek door te voeren. En als je zorgt dat je domeinspecifieke configuratie hebt (maak een switch-statement op grond van bijvoorbeeld $_SERVER['SERVER_NAME']) dan hoef je alles maar 1x in te stellen en heb je hier verder geen omkijken naar.
En ten tweede: maak virtuele hosts aan, zodat je je sites lokaal kunt onderscheiden. Dit is vrij eenvoudig in Apache. Je maakt een regel aan in een Apache-config-bestand, en je past je hosts-bestand aan in Windows om de mapping IP -> virtuele host te maken.
Je kunt je lokale sites dan bijvoorbeeld "site-one.lan" of "site-one.test" of "site-one.local" noemen (en zo ook voor site-two etc.) of hoe je ze ook wilt noemen.
1: Met linkfunctie bedoel ik een functie die op grond van parameters en configuratie een volledige hyperlink (interne link) genereert.
EDIT: wat @Ward hierboven voorstelt is ook zinnig, maar is eigenlijk een apart onderwerp: dit is de "root van je applicatie-pad (je website)" maar ik zou dit persoonlijk niet op één hoop gooien met het domein.
Gewijzigd op 23/03/2018 13:30:27 door Thomas van den Heuvel