.php omzetten naar .nl
Ik heb de volgende vraag.
Ik ben bijna klaar met het maken van een website in php. Deze wordt op mijn lokale testserver benaderd via "sitenaam.php". Alleen is mijn domeinnaam "sitenaam.nl". Hoe zorg ik ervoor dat mijn site straks als hij live staat benadert kan worden via "sitenaam.nl"?
Om antwoord te geven op je vraag moeten willen we graag wat dingen weten:
- Heb jij je domein al geregistreerd bij een hostingbedrijf/registrar?
- Heb je hosting, of wil je hem aan je eigen (thuis)server koppelen? (ervan uitgaande dat dit thuis niet toereikend is voor een drukke site, en puur voor privé-doeleinden)
Ok, het (.nl) is een domeinextentie. Maar ik wil dus niet dat mijn site benaderd moet worden via "sitenaam.php.nl", maar via "sitenaam.nl". Kan dat wel als ik lokaal mijn site steeds benader via "sitenaam.php"? En zo ja, hoe doe ik dat?
Gewijzigd op 06/09/2017 17:46:55 door Jo Immanuel
Jo Immanuel op 06/09/2017 17:46:10:
Nee, ik heb mijn domeinnaam nog niet geregistreerd en wil de site niet aan mijn thuisserver koppelen maar laten hosten.
Ga dan eerst eens zoeken naar een goede webhosting. Er zijn er meer dan genoeg....
Quote:
Ok, het (.nl) is een domeinextentie. Maar ik wil dus niet dat mijn site benaderd moet worden via "sitenaam.php.nl".....
Begrijpelijk, want dat kan dus ook niet, want de domeinnaam php.nl bestaat al, en is dus door iemand
anders geregistreerd. Voor lokale doeleinden kan je dat wel doen.
Quote:
....maar via "sitenaam.nl". Kan dat wel als ik lokaal mijn site steeds benader via "sitenaam.php"? En zo ja, hoe doe ik dat?
.php is geen bestaande domein-extentie die publiekelijk wereldwijd te vinden is, maar je kan hem wel in de DNS of hosts-file van je eigen netwerk/computers toevoegen.
Maar een .dev of .local extentie als lokale domeinnaam is wel gebruikelijker.
Een domeinextentie is wel wat anders dan een bestandsextentie, zoals ik al zei. Dus het is niet zo dat iemand een bestand met .nl aanmaakt voor een .nl domeinnaam, om dit nog even te benadrukken.
Let er ook op dat als je lokaal een website wilt serveren, dat je dus een webserver nodig hebt. Hiervoor is Apache zeer geschikt, en met het XAMPP-pakket heb je een all-in-one oplossing. Het enige wat je dan moet doen is een virtual host aanmaken zodat je lokale domein ook herkend wordt door de webserver.
Gewijzigd op 06/09/2017 18:06:25 door - Ariën -
Binnenkort wil ik live gaan. Op mijn eigen lokale server benader ik via localhost mijn site door "sitenaam.php" als URL te gebruiken. Als mijn site straks live is/gehost wordt en door anderen te benaderen is, kan de site dan gewoon benaderd worden via "sitenaam.nl"?
Gewijzigd op 06/09/2017 18:14:52 door - Ariën -
Ik heb lokaal een map van mijn site (met submappen) in de xampp > htdocs-map staan. In deze sitemap staan verschillende .php-documenten (de indexpagina, de regsitreerpagina, etc.). Deze .php-documenten kan ik momenteel benaderen op mijn lokale server door de bestandsnaam.php (met http://localhost/sitemap/ ervoor) te gebruiken.
Stel ik ga live en kopieer mijn sitemap naar de server. Hoe zijn deze pagina's (de home-pagina, de registreerpagina etc.) met ".php" erachter dan te benaderen. Dus hoe ziet de URL er dan uit als de 'lokale' URL "http://localhost/sitemap/sitenaam.php" is?
Gewijzigd op 06/09/2017 18:42:32 door Jo Immanuel
- Je lokale webserver die normaliter bereikbaar via http://localhost of via een eigen bedachte lokale domein in je host-file. Doorgaans wordt dit gebruikt om je website in alle rust te ontwikkelen.
- De publieke ruimte bij je webhosting, waar een wereldwijd bereikbaar geregistreerd domein aan gekoppeld is. Via FTP kan je jouw site dan uploaden naar de server bij je hosting. Jouw computer vervult dan geen taak meer bij het serveren van de site.
Gewijzigd op 06/09/2017 18:54:34 door - Ariën -
Nu is de situatie dat mijn site bijna klaar is (hoop ik). Thuis op mijn lokale server werkt het allemaal prima. Alleen ben ik benieuwd of het ook goed werkt als ik de site live ga brengen op een externe server.
Thuis benader ik momenteel de verschillende pagina's (.php-documenten) die in mijn sitemap staan als volgt:
http://localhost/sitemap/sitenaamhome.php
http://localhost/sitemap/sitenaamregisteren.php
etc.
Hoe gaat het straks als ik live ga?
Als iemand dan de URL "www.sitenaam.nl" intoetst welke pagina wordt er dan geopend?
Hoe stel ik in dat mensen bij gebruik van de URL "www.sitenaam.nl" bij het document "sitenaamhome.php" komen?
En hoe kan ik vanuit deze homepagina doorlinken naar andere pagina's in de sitemap zoals "sitenaamregisteren.php" (dat doe ik nu lokaal via <a href="http://localhost/sitemap/sitenaamregisteren.php"></a>)?
Of doe ik nou iets helemaal verkeerd?
Gewijzigd op 06/09/2017 19:18:13 door Jo Immanuel
Als je uitsluitend de domeinnaam invoert, dus www.mijnsite.nl, dan wordt óf index.html óf index.php automatisch geopend. Jouw 'sitenaamhome.php' zou je dus moeten hernoemen naar 'index.php'.
Gewijzigd op 06/09/2017 19:22:36 door Ozzie PHP
(afhankelijk van de instellingen van je site hoeft dit niet zo te zijn, maar dat is een ander verhaal)
Ik raad aan geen absolute paden in URL's te gebruiken in je site. Dus je verwijst je links en bestanden dan vanaf de locatie waar jij je in de directory-structuur bevindt. Op die manier hoef je bij live-gang niet op vele plekken je URL's aan te passen.
Gewijzigd op 06/09/2017 19:26:33 door - Ariën -
Ik moet de naam van de opvangpagina (homepagina) in mijn sitemap dus veranderen in "index.php" en als mijn site dan live staat dan wordt bij invoering van www.mijnsite.nl deze index.php-pagina getoond.
Maar nu heb ik behalve de homepagina nog verschillende andere pagina's in mijn map staan (anders wordt de homepagina nogal groot en langzaam) die ook benaderbaar moeten zijn. Hoe moet ik daar intern naar door verwijzen (met <a href=... ) en waar (in welke map) moet ik deze bestanden zetten?
http://localhost/.
Bestanden binnen deze map kan je gewoon oproepen met <a href="bestand.php">klik hier</a>. of een mapje hoger: <a href="contact/routebeschrijving.php">klik hier</a>.
Maar een mapje lager kan ook, er vanuit gaande dat je bijv. in de directory /contact zit)
<a href="../bestand.php">klik hier</a>. Maar combineren kan ook, door een mapje terug te gaan, en een andere te openen:
<a href="../teamleden/pieter.php">klik hier</a>
Of als je direct een relatief pad wil hebben vanaf het begin, waar je je ook bevindt qua publieke locatie, dan gebruik je een slash als eerste:
<a href="/bestand.php">klik hier</a>
Ook lokaal werkt dit hetzelfde. Dus als je in de standaard website-map (vaak /htdocs, /www/public_html) een index bestand plaatst, dan wordt deze ook geopend via Bestanden binnen deze map kan je gewoon oproepen met <a href="bestand.php">klik hier</a>. of een mapje hoger: <a href="contact/routebeschrijving.php">klik hier</a>.
Maar een mapje lager kan ook, er vanuit gaande dat je bijv. in de directory /contact zit)
<a href="../bestand.php">klik hier</a>. Maar combineren kan ook, door een mapje terug te gaan, en een andere te openen:
<a href="../teamleden/pieter.php">klik hier</a>
Of als je direct een relatief pad wil hebben vanaf het begin, waar je je ook bevindt qua publieke locatie, dan gebruik je een slash als eerste:
<a href="/bestand.php">klik hier</a>
Gewijzigd op 06/09/2017 19:43:43 door - Ariën -
Jo Immanuel op 06/09/2017 19:26:42:
Ik moet de naam van de opvangpagina (homepagina) in mijn sitemap dus veranderen in "index.php" en als mijn site dan live staat dan wordt bij invoering van www.mijnsite.nl deze index.php-pagina getoond.
Correct.
Op je server is een apart mapje waarin je die index.php zet. Dat mapje heet meestal iets van 'httpdocs'. Alles wat je via de URL invoert, komt in dat mapje uit.
Als jij dus in die map een bestand 'test.php' zet, dan kun je dat bestand via de browser als volgt aanroepen: www.mijnsite.nl/test.php
Ik heb om mijn lokale server een mapje "xampp > htdocs". In dit mapje heb ik een map voor mijn site gezet (te noemen "sitemap"). Dat is dus niet goed? Ik moet dus deze map "sitemap" verwijderen en de content uit deze map direct in het mapje "xampp > htdocs" zetten (inclusief submappen)?
Verder:
Dus bij gebruik URL "www.mijnsite.nl" wordt de "index.php" pagina uit mapje "xampp > htdocs" geladen.
Stel ik noem mijn registreerpagina "registeer.php" en zet deze in de map "xampp > htdocs". Dan wordt deze pagina als de site live staat "direct" geladen bij gebruik van URL "www.mijnsite.nl/registreer.php" ?
Nog een vraag:
Ik geef bij verschillende pagina's ook variabelen in de URL mee. Bijvoorbeeld bij de userpagina. Dus stel ik noem de userpagina "user.php" en zet deze in de map "xampp > htdocs". Kan ik dan ook gewoon variabelen in de URL meenemen als volgt: "www.mijnsite.nl/user.php?userID=1" ???
http://localhost wordt gebruikt inderdaad htdocs. Op andere platformen kan dit verschillen.
Opsich is het niet aan te raden om binnen je websiteruimte een aparte map aan te maken voor per website.
Ikzelf heb ook eigen lokale domeinen gemaakt per site. (yaddah.dev, foo.dev, baz.dev). In de X:\xampp\apache\conf\extra\httpd-vhosts.conf heb ik per domein een virtual-host aangemaakt met de locatie waar de site staat:
Natuurlijk moet je ook even die lokale domeinen in Windows, of hetoperating-system die je maar gebruikt, even bekend maken. Dit kan in de host-file, waarheen ik al gelinkt had.
Je andere vragen kloppen inderdaad.
Bij XAMPP is de algemene map die voor Opsich is het niet aan te raden om binnen je websiteruimte een aparte map aan te maken voor per website.
Ikzelf heb ook eigen lokale domeinen gemaakt per site. (yaddah.dev, foo.dev, baz.dev). In de X:\xampp\apache\conf\extra\httpd-vhosts.conf heb ik per domein een virtual-host aangemaakt met de locatie waar de site staat:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<VirtualHost *:80>
ServerName yaddah.dev
ServerAlias yaddah.dev
DocumentRoot X:/xampp/htdocs/yaddah/
ServerAlias www.yaddah.dev
ErrorLog "logs/yaddah.dev-error.log"
CustomLog "logs/yaddah.dev--access.log" common
</VirtualHost>
ServerName yaddah.dev
ServerAlias yaddah.dev
DocumentRoot X:/xampp/htdocs/yaddah/
ServerAlias www.yaddah.dev
ErrorLog "logs/yaddah.dev-error.log"
CustomLog "logs/yaddah.dev--access.log" common
</VirtualHost>
Natuurlijk moet je ook even die lokale domeinen in Windows, of hetoperating-system die je maar gebruikt, even bekend maken. Dit kan in de host-file, waarheen ik al gelinkt had.
Je andere vragen kloppen inderdaad.
Ja, ja en ja.
Dus samenvattend:
- een index.php maken voor opvang.
- <a href=..> locaties aanpassen (geen absolute paden meer).
- Het geheel uit mapje "sitemap" zetten in mapje "htdocs" en mapje "sitemap" verwijderen.
- Bij livegang alles uit mapje "htdocs" kopieren naar de server en gaan met die banaan...
Klopt?
Nog 1 vraag: als ik dit allemaal doe, hoe benader ik dan op mijn thuisserver de verschillende pagina's?
Live is het dan "www.mijnsite.nl" en "www.mijnsite.nl/user.php?userID=1".
Op mijn lokale testserver moet ik deze dan benaderen via "localhost/index.php" en "localhost/user.php?userID=1"?
http://localhost, of nog mooier: Een zelf bedacht lokaal domein. Ideaal als je meerdere sites ontwikkelt.
Via Gewijzigd op 06/09/2017 20:25:55 door - Ariën -
Jo Immanuel op 06/09/2017 20:21:41:
Op mijn lokale testserver moet ik deze dan benaderen via "localhost/index.php" en "localhost/user.php?userID=1"?
"localhost" en "localhost/user.php?userID=1"
En bij verwijzen dan?
Voor userpagina kan ik zowel lokaal als publiek verwijzen naar <a href="user.php?userID=1">klik hier</a>.
Je zou denken dat dan bij de homepagina je zowel lokaal als publiek kunt verwijzen naar <a href="index.php">klik hier</a>. Als dat niet werkt hoe moet je dan lokaal en publiek verwijzen naar de homepagina? Door <a href="">klik hier</a> ???
Gewijzigd op 06/09/2017 20:44:55 door Jo Immanuel