PDA

Bekijk Volledige Versie : Subdomeinen op shared webhosting



Gimli
27/01/11, 11:09
Wanneer met DirectAdmin een subdomein wordt aangemaakt wordt er een map gecreëerd 'example.com/public_html/subdomein'. Requests naar subdomein.example.com gaan nu naar deze map.

Wat als je nu wil dat ook requests naar het subdomein naar public_html gaan in plaats van de subfolder? Dit is het geval voor een Zend Framework applicatie die werkt met subdomeinen. Het entrypoint voor de hele applicatie is dan public_html/.htaccess. Die ziet er zo uit:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Je hebt geen toegang tot httpd-vhosts.conf om de DocumentRoot van het subdomein naar de public_html map te zetten.

Wat ik geprobeert heb is alle request naar het subdomein te rewriten naar de public_html (een folder omhoog) door middel van een .htaccess in public_html/subdomein

RewriteEngine on
RewriteRule ^(.*)$ /../$1

Dit resulteert echter in een '400 Bad Request Error'.

Iemand hier ervaringen mee en eventueel een oplossing?

Bij voorbaat dank

Moc
27/01/11, 12:02
Volgens mij kun je bij domain administration ook subdomains invullen in directadmin. Misschien is dit wat je zoekt.

zebaz
27/01/11, 13:12
RewriteEngine on
RewriteRule ^(.*)$ /../$1


Die rewriterule maakt vreemde urls van de vorm http://subdomein.domein.net/../<whatever> en die zullen niet goed worden geprocessed. Misschien werkt het als je het verandert naar:

RewriteRule ^(.*)$ ../$1

Maar dan nog vraag ik me af of-ie zich wat aantrekt van .htaccess op het hogere niveau. Ik ken DirectAdmin niet, maar is het misschien mogelijk om een wildcard te gebruiken ipv losse subdomeinen? Dat lost dan wellicht ook het probleem op.

Een andere oplossing is om de subdirectory gewoon te symlinken naar de bovenliggende directory. Kijk dan wel uit voor gevolgen van de 'loop' die je daarmee maakt.

Gimli
27/01/11, 14:05
bedankt voor de suggesties.
Ik heb bij het hoofddomein in DirectAdmin subdomain.example.com toegevoegd als domain pointer met type alias. Dit lijkt te werken