Mod_rewrite subdomein .htaccess
naar aanleiding van dit topic heb ik dus voor de subdomeinen gekozen.
De wildcard staat aan maar ik begrijp niet hoe ik nu van
www.domein.nl/index.php?sitenaam=sitenaam -> www.sitenaam.domein.nl
www.domein.nl/index.php?sitenaam=sitenaam&pagina=1 -> www.sitenaam.domein.nl/pagina
google helpt mij ook niet verder.
De wildcard staat aan maar ik begrijp niet hoe ik nu van
www.domein.nl/index.php?sitenaam=sitenaam -> www.sitenaam.domein.nl
www.domein.nl/index.php?sitenaam=sitenaam&pagina=1 -> www.sitenaam.domein.nl/pagina
google helpt mij ook niet verder.
Gewijzigd op 30/12/2010 14:16:10 door Jasper DS
Het is anders om lijkt mij.
test.blaat.tld -> blaat.tld/bestand.php?site=test
test.blaat.tld -> blaat.tld/bestand.php?site=test
Als de sitenaam altijd hetzelfde is, kun je met een eenvoudige RewriteCond de HTTP_HOST matchen en doorsturen naar het juiste domein. Ook als het variabel is, is dat mogelijk, zie bijvoorbeeld hier: http://www.webmasterworld.com/forum92/3555.htm
@ blanche het is dus een $var dat uit de database komt want er zijn meerdere websites.
Ik zal jouw link bekijken.
Ik zal jouw link bekijken.
PHP Jasper op 30/12/2010 13:46:18:
@ blanche het is dus een $var dat uit de database komt want er zijn meerdere websites.
Ik zal jouw link bekijken.
Ik zal jouw link bekijken.
Misschien moet je eens wat duidelijker uitleggen wat je wilt...
Gebruikers maakt een site aan, deze inhoud gaat naar de database.
Als de gebruiker dan naar www.domein.nl/sites/index.php?sitenaam=zijn_site gaat, dan ziet hij zijn site.
Nu wil ik dat als een gebruiker naar www.zijn_site.domein.nl gaat zijn site ziet.
dus kan dat niet met iets als dit:
Als de gebruiker dan naar www.domein.nl/sites/index.php?sitenaam=zijn_site gaat, dan ziet hij zijn site.
Nu wil ik dat als een gebruiker naar www.zijn_site.domein.nl gaat zijn site ziet.
dus kan dat niet met iets als dit:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# Zet de RewriteEngine aan
RewriteEngine On
# voorbeeld1.uwdomein.nl
# Deze haalt pagina's uit http://www.uwdomein.nl/voorbeeld1/
RewriteCond %{HTTP_HOST} ^voorbeeld1.uwdomein.nl$
RewriteCond %{REQUEST_URI} !^/voorbeeld1/
RewriteRule (.*) /voorbeeld1/$1
RewriteEngine On
# voorbeeld1.uwdomein.nl
# Deze haalt pagina's uit http://www.uwdomein.nl/voorbeeld1/
RewriteCond %{HTTP_HOST} ^voorbeeld1.uwdomein.nl$
RewriteCond %{REQUEST_URI} !^/voorbeeld1/
RewriteRule (.*) /voorbeeld1/$1
Gewijzigd op 30/12/2010 13:57:21 door Jasper DS
http://forums.westhost.com/showthread.php?t=7338
http://coding-talk.com/f14/virtual-subdomain-htaccess-2059/
http://www.webdeveloper.com/forum/showthread.php?t=104901
http://www.sitepoint.com/forums/showthread.php?t=516837
http://coding-talk.com/f14/virtual-subdomain-htaccess-2059/
http://www.webdeveloper.com/forum/showthread.php?t=104901
http://www.sitepoint.com/forums/showthread.php?t=516837
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
RewriteEngine On
# Extract the subdomain part of domain.com
RewriteCond %{HTTP_HOST} ^([^\.]+)\.sitenaam\.nl$ [NC]
# Check that the subdomain part is not www and ftp and mail
RewriteCond %1 !^(www|ftp|mail)$ [NC]
# Redirect all requests to a php script passing as argument the subdomain
RewriteRule ^.*$ http://www.domein.nl/index.php?sitenaam=%1 [R,L]
# Extract the subdomain part of domain.com
RewriteCond %{HTTP_HOST} ^([^\.]+)\.sitenaam\.nl$ [NC]
# Check that the subdomain part is not www and ftp and mail
RewriteCond %1 !^(www|ftp|mail)$ [NC]
# Redirect all requests to a php script passing as argument the subdomain
RewriteRule ^.*$ http://www.domein.nl/index.php?sitenaam=%1 [R,L]
moet ik ook iets veranderen aan mijn php code of is het nog steeds $_GET['sitenaam']
Eerst proberen voordat je vraagt.
Het is nog steeds $_GET['sitenaam']. Maar je moet natuurlijk nog wel de 'sitenaam' van regel 4 en het 'domein' op regel 10 veranderen naar jouw eigen situatie...
ja dat weet ik, sitenaam had ik al veranderd.
Maar bij sitenaam=%1 wat is die %1? moet dat ook aangepast worden?
(dat is natuurlijk de $var uit de db maar hoe moet ik dat noemen in het .htaccess bestand?)
Maar bij sitenaam=%1 wat is die %1? moet dat ook aangepast worden?
(dat is natuurlijk de $var uit de db maar hoe moet ik dat noemen in het .htaccess bestand?)
Gewijzigd op 30/12/2010 14:16:02 door Jasper DS
Voordat je iets vraagt eerst leren:
http://www.askapache.com/htaccess/mod_rewrite-basic-examples.html
http://www.askapache.com/htaccess/mod_rewrite-basic-examples.html
Nee, dat is niet de var uit de database maar refereert naar de wildcard ([^\.]+) op regel 4. Het is dus de waarde die in de url staat.
Probeer te begrijpen wat er gebeurt: gebruiker voert de url www.sitenaam.jouwdomein.nl in. 'sitenaam' wordt opgevangen op regel 4 en is naar te refereren dmv %1. Op regel 10 stuur je de gebruiker ongemerkt door naar index.php?sitenaam=%1 waarbij je dus de oorspronkelijke sitenaam uit de url gebruikt. Dat wordt vervolgens uitgelezen in jouw PHP script en dan pas wordt er iets met de database gedaan...
Probeer te begrijpen wat er gebeurt: gebruiker voert de url www.sitenaam.jouwdomein.nl in. 'sitenaam' wordt opgevangen op regel 4 en is naar te refereren dmv %1. Op regel 10 stuur je de gebruiker ongemerkt door naar index.php?sitenaam=%1 waarbij je dus de oorspronkelijke sitenaam uit de url gebruikt. Dat wordt vervolgens uitgelezen in jouw PHP script en dan pas wordt er iets met de database gedaan...
Blanche - op 30/12/2010 14:19:51:
Nee, dat is niet de var uit de database maar refereert naar de wildcard ([^\.]+) op regel 4. Het is dus de waarde die in de url staat.
Probeer te begrijpen wat er gebeurt: gebruiker voert de url www.sitenaam.jouwdomein.nl in. 'sitenaam' wordt opgevangen op regel 4 en is naar te refereren dmv %1. Op regel 10 stuur je de gebruiker ongemerkt door naar index.php?sitenaam=%1 waarbij je dus de oorspronkelijke sitenaam uit de url gebruikt. Dat wordt vervolgens uitgelezen in jouw PHP script en dan pas wordt er iets met de database gedaan...
Probeer te begrijpen wat er gebeurt: gebruiker voert de url www.sitenaam.jouwdomein.nl in. 'sitenaam' wordt opgevangen op regel 4 en is naar te refereren dmv %1. Op regel 10 stuur je de gebruiker ongemerkt door naar index.php?sitenaam=%1 waarbij je dus de oorspronkelijke sitenaam uit de url gebruikt. Dat wordt vervolgens uitgelezen in jouw PHP script en dan pas wordt er iets met de database gedaan...
Dat is niet helemaal correct....
En je htaccess is ook niet correct...
Dat kan je duidelijk zien, alleen je moet de basics wel snappen.
ik krijg een error
DotNetPanel IIS Modules Error
AuthName directive not found.
File: E:\HostingSpaces\Yazicioglu\*******.nl\wwwroot\.htaccess
DotNetPanel IIS Modules Error
AuthName directive not found.
File: E:\HostingSpaces\Yazicioglu\
Gewijzigd op 30/12/2010 14:23:49 door Jasper DS
@Karl: waar zit ik fout? Dit is toch (ongeveer) wat er gebeurt?
ps. @Jasper: Je gebruikt toch wel apache als webserver? Anders zal het op deze manier in ieder geval niet werken.
ps. @Jasper: Je gebruikt toch wel apache als webserver? Anders zal het op deze manier in ieder geval niet werken.
Gewijzigd op 30/12/2010 14:25:30 door Joren de Wit
Blanche, hij verwijst naar de cond op regel 7, niet naar regel 4.
OMFG. Echt, ga je eerst eens verdiepen in de materie voordat je wat doet.
htaccess is APACHE. Jij hebt IIS.
Dat doet ie dus niet...
OMFG. Echt, ga je eerst eens verdiepen in de materie voordat je wat doet.
htaccess is APACHE. Jij hebt IIS.
Blanche - op 30/12/2010 14:24:02:
ps. @Jasper: Je gebruikt toch wel apache als webserver? Anders zal het op deze manier in ieder geval niet werken.
Dat doet ie dus niet...
ok, was ik mij niet van bewust. Alternatief?
ISAPI_REWRITE
iis virtual subdomain
En waarom blijf je nog met php werken, als je veel krachtiger te werk kan gaan met C#.net?
iis virtual subdomain
En waarom blijf je nog met php werken, als je veel krachtiger te werk kan gaan met C#.net?
omdat ik dat niet kan.. ;p ik ben nog php aan het leren, (btw ik had zelf liever op een linux server gezeten.)
PHP Jasper op 30/12/2010 14:27:24:
ok, was ik mij niet van bewust. Alternatief?
Even googlen :-)
@Karl: die %1 op regel 7 is toch ook gewoon een verwijzing naar het gedeelte dat op regel 4 gematched is?



