Archief - [htaccess(?)] Virtuele subdomeinen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

.kw

Legacy Member
Ongeveer een maand geleden vroeg ik op dit forum hoe ik ervoor kon zorgen dat elke gebruiker zijn eigen subdomein krijgt op mijn site. Ik heb toen een script gevonden, maar ik vind het nergens terug - zelfs niet in Google. Ik geloof dat het met htaccess moet, maar ben het niet zeker. :help:

Dus nog eens duidelijk:
Ik zoek een script waarmee bijvoorbeeld http://www.gebruiker.domein.be eigenlijk http://www.domein.be/users/gebruiker opent. De URL mag echter wel niet veranderen (in de adresbalk).

xml

Legacy Member
Deze gebruik ik, en werkt dus.


PHP:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /

RewriteCond %{HTTP_HOST} test.domein.be
RewriteCond %{REQUEST_URI} !mapnaam/
RewriteRule ^(.*)$ mapnaam/$1 [L]

test.domein.be is het subdomein dat ge wilt.
mapnaam is 2x (dezelfde natuurlijk) naam van de map die je wil gebruiken, bvb als je naar domein.be/test wil gaan, geef je daar gewoon test in. Van de uitroeptekens, slashes, dollartekens enzo moet ge afblijven of 't zal niet meer werken.

Voor elk extra subdomein herhaal je gewoon die laatste 3 lijnen.

Grts.

.kw

Legacy Member
Wat ik eigenlijk nodig heb, is een script dat volledig automatisch kan werken. Iemand registreert zich en zijn gekozen gebruikersnaam wordt automatisch een (virtueel) subdomein op mijn site. Als hij dan naar www.gebruikersnaam.domein.be gaat, gaat hij eigenlijk naar www.domein.be/users/gebruikersnaam. Die mappen worden niet echt aangemaakt, dat doe ik met .htaccess ("users" is een file en "gebruikersnaam" is een variabele). Ik kan niet elke keer het bestand aanpassen als er een nieuwe gebruiker is.

medic

Legacy Member
0n3Liner zei:
laat een php script je htacces editen
Dat zou impliceren dat ge bij elke pageview uw htacces gaat herschrijven, dit heeft verschillende grote nadelen waaronder de volgende 2 de imo belangrijkste zijn :
  • Een bestand van een drukke bij elke pageview herschrijven levert een veel hogere serverload op dan het alternatief da'k hieronder zal voorstellen :naughty:
  • De wet van Murphy geldt ook hier, indien er 2 gebruikers zijn die een nanoseconde van elkaar verwijderd zijn kan de server onmogelijk het bestand in die tijd herschrijven en aan elke gebruiker een andere versie aanbieden. Het is zeer waarschijnlijk dat beide gebruikers het bestand aangereikt krijgen dat gebruiker 2 aangereikt moet krijgen. (Omdat er door het kleine tijdverschil geen tijd overblijft om het te ontvangen)

Er zitten ook een denkfout in uw redenering :
  • De htacces herschrijven heeft geen nut, aangezien je eerst de htacces passeert voordat je aan je php-script komt.

Ik stel voor dat je gewoon implode op de "dot" van de url en dat je er zo het subdomein uithaalt en dan de gevonden waarde gebruikt om er iets mee uit de database te halen of een inclusion-structuur aan te roepen.

.kw

Legacy Member
medic zei:
Dat zou impliceren dat ge bij elke pageview uw htacces gaat herschrijven, dit heeft verschillende grote nadelen waaronder de volgende 2 de imo belangrijkste zijn :
  • Een bestand van een drukke bij elke pageview herschrijven levert een veel hogere serverload op dan het alternatief da'k hieronder zal voorstellen :naughty:
  • De wet van Murphy geldt ook hier, indien er 2 gebruikers zijn die een nanoseconde van elkaar verwijderd zijn kan de server onmogelijk het bestand in die tijd herschrijven en aan elke gebruiker een andere versie aanbieden. Het is zeer waarschijnlijk dat beide gebruikers het bestand aangereikt krijgen dat gebruiker 2 aangereikt moet krijgen. (Omdat er door het kleine tijdverschil geen tijd overblijft om het te ontvangen)

Er zitten ook een denkfout in uw redenering :
  • De htacces herschrijven heeft geen nut, aangezien je eerst de htacces passeert voordat je aan je php-script komt.

Ik stel voor dat je gewoon implode op de "dot" van de url en dat je er zo het subdomein uithaalt en dan de gevonden waarde gebruikt om er iets mee uit de database te halen of een inclusion-structuur aan te roepen.

Het spijt me, maar hoe "implode" je de "dot" :eek:

dJeez

Legacy Member
Virtual User Hosts


Description:

Assume that you want to provide www.username.host.domain.com for the homepage of username via just DNS A records to the same machine and without any virtualhosts on this machine.

Solution:

For HTTP/1.0 requests there is no solution, but for HTTP/1.1 requests which contain a Host: HTTP header we can use the following ruleset to rewrite http://www.username.host.com/anypath internally to /home/username/anypath:


RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.[^.]+\.host\.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^www\.([^.]+)\.host\.com(.*) /home/$1$2

http://httpd.apache.org/docs/misc/rewriteguide.html
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan