PDA

Bekijk Volledige Versie : Subdomeinen en Apache



JelleDL
26/05/09, 15:30
Beste

Ik wist niet echt in welk forum-deel ik deze vraag moet posten, maar aangezien ik een unmanaged VPS heb probeer ik het hier even.

Ik zou graag weten hoe ik Apache kan instellen (als dit mogelijk is, ik vermoed van wel), dat subdomein sub.domein.tld uitkomt in /var/www/domein.tld/sub/ maar dan niet hard-coded.

Op dit moment heb ik per subdomein in de Apache config de volgende regels:



<VirtualHost *>
ServerAdmin info@domein.tld
ServerName sub.domein.tld
DocumentRoot /var/www/domein.tld/sub
ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
#RedirectMatch ^/$ /index.html
</Directory>
</VirtualHost>


Maar ik wil nu dus graag dat ik niet elk sub-domein moet specifieren (dus de subdomeinen niet meer hard-coden), maar dat hij standaard voor elk subdomein als documentroot '/var/www/domein.tld/subdomein'.


Bij de DNS heb ik een record voor *.domein.tld, www.domein.tld en domein.tld. Elke request met 'elk' mogelijke sub-domein komt momenteel al op mijn VPS uit, echter op de document root van de server.


Note: Is het dan ook bv. mogelijk als het subdomein effectief niet bestaat, de /var/www/domein.tld/www als documentroot te nemen?


Ik loop hier al een tijd op te zoeken, maar in alle voorbeelden (ook bij Apache) zie ik hard-coded subdomeinen.

Een andere optie is om in de root een script te zetten (htaccess, php, ... ) dat alle requests doorverwijst naar de goede map (Waar ik direct ook kan kijken of de map bestaat), maar persoonlijker hoop ik liever dat dit rechtsreeks via Apache kan.

Costeijn
26/05/09, 15:35
Moet je met VirtualDocumentRoot doen (mod_vhost_alias):

VirtualDocumentRoot /home/vhosting/domein.nl/htdocs/%1

prupert
04/06/09, 13:43
Maar ik wil nu dus graag dat ik niet elk sub-domein moet specifieren (dus de subdomeinen niet meer hard-coden), maar dat hij standaard voor elk subdomein als documentroot '/var/www/domein.tld/subdomein'.

Bij de DNS heb ik een record voor *.domein.tld, www.domein.tld en domein.tld. Elke request met 'elk' mogelijke sub-domein komt momenteel al op mijn VPS uit, echter op de document root van de server.

Je kunt ook een ServerAlias configureren voor *.domein.tld en de subdomein-afhandeling middels ModRewrite doen. Dan ben je er ook.