PDA

Bekijk Volledige Versie : automatisch niet bestaande subdomein door verwijzen.



frenchdream
05/02/08, 12:00
Beste allen,

Omdat ik er geen antwoord op heb gevonden en gekregen probeer ik hier een antwoord te vinden.

Als men bij startpagina.nl een fout subdomein opvraagd ofwel direct lkjhflkjshf.startpagina.nl invult dan wordt deze automatisch doorgestuurd naar een zoekpagina van hun met de mededeling dat de pagina niet bestaat.

Nu de vraag hoe doet men dit? Is dit een apart script? een instelling op de server?

Ik kan het niet vinden en men laat er niets los over hoe dit werkt.

Groeten Robert

SebastiaanStok
05/02/08, 12:14
Dit kan je op twee manieren oplossen :)
1. Voor een niet bestaande hostname die naar de server verwijst Apache opdracht geven een bepaalde website weer te geven.
2. Enkel een niet bestaande subdomein, dan pakt hij alles wat naar het domeinnaam word gestuurd. Je moet dan zelf controleren of de subdomein goed is.
Dit laatste doet startpagina.nl ook zo.

Voor beide moet je of toegang hebben tot Apache of een wildcard domein kunnen instellen.

1.:


NameVirtualHost *:80
<VirtualHost *:80>
# Locatie welke website moet worden weergeven als er geen bestaande website word gegeven.
DocumentRoot /data/htdocs/rollerscapes/no_site
</VirtualHost>


2.:



<VirtualHost *:80>
DocumentRoot /data/htdocs/rollerscapes/mantis
ServerName *.hostname.tld
</VirtualHost>


Met PHP / Perl kan je dan door middel van HOST_NAME kijken wat de volledige hostname is.
En aan de hand daar van bepalen wat je wilt doen.

Ik hoop dat het zo duidelijk is?

crazycoder
05/02/08, 12:16
Zoiets:

DNS wildcard
In Apache alles uit 1 directory halen.
Script wat in database kijkt of pagina bestaat. Indien niet dan een fout tonen.

Pur
05/02/08, 12:25
Er zijn verschillende oplossingen mogelijk.

Je hebt sowieso een wildcard DNS entry nodig.. * IN A <whatever ip>

En in Apache een ServerName of ServerAlias opnemen *.domein.tld daar waar je wilt dat onbekende adressen terecht komen.

Als je daarboven alle subdomeinen definieert die wel bestaan dan werkt het gewoon.

Binnen Apache kun je daarnaast ook met Rewriterules nog het e.e.a. bewerkstelligen. Cistron had vroeger bijv dat je de persoonlijke homepage ook kon opvragen via <username>.www.cistron.nl (oid) en die werd dan herschreven naar www.cistron.nl/~<username>

En zo kun je ook lsjdflksdf.domein.tld herschrijven naar www.domein.tld

frenchdream
05/02/08, 12:29
Ok bedankt, Ik heb geen wildcards op de server. Wel toegang tot Apache Handlers maar of je dit bedoelt is me even abakadabra ;-)

Ik geef in cpanel mijn sub domeinen handmatig in. Vervolgens wordt er door het script een index pagina geplaatst in de map op de server die aangeeft.

<?php header("Location: http : //www . debutpage . com/?s=maison"); ?>

Hierdoor worden de categorieën en links opgehaald uit de database etc etc.

Dus eigenlijk zou ik iets moeten kunnen instellen dat apache controleerd welke subdomeinen geregistreerd zijn en als dit niet zo is dat hij dan verwijst naar een subdomein welke ik voorzie van een soort nietgevonden pagina?

Mocht je uitleg kunnen geven hoe is dat super of misschien weet je een doc over apache waar dit in staat.

Groetjes robert

(nog in opbouw natuurlijk ;-)

Ok ik was een reactie aan het schrijven maar lees nu dat je wildcard nodig hebt.

Dat heb ik niet dus houd het waarschijnlijk op.

Toch bedankt voor de uitleg. Ik kan nog eens bekijken wat me host wil doen. Misschien willen ze het wel beschikbaar stellen.

Mocht het lukken dan laat ik het weten.

Groeten Robert

Pur
08/02/08, 23:44
Voor niet bestaande sub domeinen heb je inderaad gewoon een wildcard DNS record nodig. Als een sub domein niet in de DNS bestaat dan komt hij zeker niet op je Apache terecht.

En anders moet je allerlei combinatie handmatig gaan toevoegen en daar wordt je hoster zeker niet blij van ;-)

Zit in CPanel geen "domain administration" oid? Als je handmatig records kan toevoegen tot de DNS dan zou een wildcard entry wellicht ook gewoon kunnen. Dat is dan ipv van "subdomeintje".domain.tld een "*" plaatsen.