[php] dynamische subdomeinen?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
mijn hosting provider heeft zijn systeem dusdanig ingesteld dat subdomeinen mogelijk zijn (sub.domein.nl) en verwijzen naar domein.nl/sub.

Nu wil ik dynamisch subdomeinen aanmaken, althans mijn gebruikers via hun [gebruikersnaam].domein.nl binnen laten komen. Nu kan ik voor iedere gebruiker een dir aanmaken en daarin een bepaald script kopieren, maar dan heb ik in no time veel te veel directories in mijn webroot.

Wat ik eigenlijk wil is dat alle subdomeinen naar een script wijzen dat het subdomein parsed en vervolgens de subdomein waarde als string mijn applicatie in stuurt.

De configuratie van mijn host heeft tot gevolg dat altijd gezocht wordt naar een subdir met de naam [gebruikersnaam] en als die niet gevonden wordt krijg ik een 404.

Ik heb gehoord dat mod_rewrite onder htaccess hier iets mee kan, maar daar heb ik geen ervaring mee. Heeft iemand andere ideen? BVD.

Acties:
  • 0 Henk 'm!

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09 23:18

djc

Je kan naast mod_rewrite een dynamisch 404 bestand maken. Als je daarin eens begint met een phpinfo() te zetten zie je dat er headers mee worden gestuurd waarin wordt aangegeven naar aanleiding van wat de 404 werd gegooid, dus dan kan je op basis daarvan redirecten naar de pagina waar je m wil hebben.

Rustacean


Acties:
  • 0 Henk 'm!

Verwijderd

code:
1
2
3
4
RewriteEngine on

RewriteCond %{HTTP_HOST} ^gebruikersnaam.domein.nl$
RewriteRule ^gebruikersnaam(.*) http://www.domein.nl/gebruikers/gebruikersnaam$1


Dit gebruik ik zelf bij een 'identieke' configuratie (subdomain naar submap).

[ Voor 5% gewijzigd door Verwijderd op 26-01-2004 21:09 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 26 januari 2004 @ 21:09:
code:
1
2
3
4
RewriteEngine on

RewriteCond %{HTTP_HOST} ^gebruikersnaam.domein.nl$
RewriteRule ^gebruikersnaam(.*) http://www.domein.nl/gebruikers/gebruikersnaam$1


Dit gebruik ik zelf bij een 'identieke' configuratie (subdomain naar submap).
Mij gaat het er dus om om niet te verwijzen naar een bestaande directory maar de subdomain als variabele mee te geven aan een script. Zal eens zoeken of dat kan met mod_rewrite

Acties:
  • 0 Henk 'm!

Verwijderd

Misschien zoiets dan ?

code:
1
2
3
RewriteEngine On

RewriteRule ^([A-Z0-9._]+)\.%{HTTP_HOST}.*$ /mijnscript.php?subdomein=$1 [NC]


Als je een externe redirect wilt moet je even een ,R achter de NC invoegen.

Als het niet wil werken kan een ,L misschien nog helpen ... en anders moet je zoals Manuzhai al zei, gewoon er gebruik van maken dat de server een error 404 geeft door een 404 naar je script te laten pointen mbv ErrorDocument.

Wat misschien ook handig is om door te nemen zijn de twee volgende documenten (als wil mod_rewrite'en):

http://httpd.apache.org/docs/mod/mod_rewrite.html
http://httpd.apache.org/docs/misc/rewriteguide.html

[ Voor 79% gewijzigd door Verwijderd op 26-01-2004 21:56 . Reden: BTW ]