PDA

Bekijk Volledige Versie : subdomain wildcard dns enabled



nielskool
29/12/09, 08:54
Hallo allemaal,

Gister heb ik mijn host gevraagd om wildcard DNS aan te zetten, en dat hebben ze gedaan.... maar nou zit ik nog met een probleem.
zodra ik naar test.domain.com ga
dan kom ik gewoon op mijn eigen index pagina uit, dit is nog wel op te lossen door met php een pagina te includen die bij dat subdomein hoort.

domain.com/index.php:

$serverhost = explode('.',$_SERVER["HTTP_HOST"]);
$sub = $serverhost[0];
if ($sub == "www") {
$sub = "";
if($serverhost[1] <> "www" and $serverhost[1] <> "domain"){
$sub = $serverhost[1];
}
}
helaas kan dit niet als ik bijv test.domain.com/info.html ga bekijken.
hier wordt namelijk niet meer het script opgeroepen dat kijkt naar het subdomein.

er is nog wel een mogelijkheid, maar die wil ik liever niet:
eerst kijken naar subdomein, daarna redirect.
bijv:
test.domain.com -> domain.com/test/

Bij voorbaat dank,
Niels

Cakkie
29/12/09, 09:25
Dit kan je beter via mod_rewrite doen.

Zet het volgende in de .htaccess (even snel gegoogled, niet getest)


RewriteEngine On
RewriteCond %{HTTP_HOST} !www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC]
RewriteRule (.*) %2/$1 [L]

Dit zou er normaal voor moeten zorgen dat als je naar test.domain.com surft, dit op de server intern geroute wordt naar de subfolder test in je documentroot. De gebruiker zal hier echter niets van merken, die ziet gewoon test.domain.com staan.

nielskool
30/12/09, 15:39
het geen wat u gegeven heeft werkt helaas, niet.

ik gebruik op dit moment:


Options +FollowSymLinks
RewriteEngine On
Rewritebase /
RewriteCond %{HTTP_HOST} !^www\.mysite\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.mysite\.com
RewriteRule (.*) /preview/klantensites/%1 [L]

dit werkt, maar nu veranderd de url naar: www.mysite.com/preview/klantensites/het subdomein
ik zou graag willen dat het dit wordt:www.het subdomein.mysite.com/preview/klantensites/het subdomein
kan iemand mij daar nog bij helen?

martinvandebelt
30/12/09, 15:46
Heb hier deze nog liggen:



RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.sitename\.dk$ [NC]
RewriteRule ^$ /pagina.php?name=%1
RewriteCond %{HTTP_HOST} ^([^.]+)\.sitename\.dk$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^$ /pagina.php?name=%1


Misschien kun je er iets mee ...

nielskool
30/12/09, 19:35
@martinvandebelt
heb die even geprobeerd en alles naar mijn site naam gezet inclusief .com inplaats van .dk maar helaas, deze diet helemaal niets:(
toch bedankt.

martinvandebelt
30/12/09, 19:58
Vreemd, gebruik deze zelf ook ergens. Wat het eigenlijk doet, is pagina.php laden met een variabele die je eigenlijk invoert als subdomein.

Dus blabla.sitename.com wordt geladen als pagina.php?name=blabla

nielskool
30/12/09, 20:09
werkt niet:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.site\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.site\.com
RewriteRule ^(.*)$ http://www.site.com/preview/klantensites/%1 [P,L]

werkt wel:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.site\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.site\.com
RewriteRule ^(.*)$ http://www.site.com/preview/klantensites/%1/$1 [P,L]
als er geen $1 in voor komt dan veranderd de url, als ik hem er wel inplaats dan staat er dus meer maar daardoor veranderd de url in de addres balk niet.
kwam er bij toeval achter.

bedankt allemaal

nielskool
30/12/09, 20:20
werkt niet:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.site\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.site\.com
RewriteRule ^(.*)$ http://www.site.com/preview/klantensites/%1 [P,L]

werkt wel:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.site\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.site\.com
RewriteRule ^(.*)$ http://www.site.com/preview/klantensites/%1/$1 [P,L]
als er geen $1 in voor komt dan veranderd de url, als ik hem er wel inplaats dan staat er dus meer maar daardoor veranderd de url in de addres balk niet.
kwam er bij toeval achter.

bedankt allemaal

//edit
RewriteRule ^$ /preview/klantensites/%1/$1 [L]
deze regel is ook niet te gebruiken, hij doet het maar zodra je F5 drukt herlaad hij de pagina herschijft de url nog een keer, of je zou dus daar ook wat tegen moeten doen, maar dit werkt.