Mijn eerste bezoekje hier, na wat lezen in de stickies ben ik tot de conclusie gekomen dat dit de beste plek is om deze vraag te stellen.
Ik heb tot nu toe altijd mijn userhome verpakt in een viritualhost met de hierna volgende httpd.conf toevoeging. Zo'n zelfde moest ik doen voor ELKE gebruiker die ik door wilde linken met een user.fun-industries.nl url. Alleen kwam ik onlangs op de 8ste entry op deze manier, en toen kwam ik tot de conclusie dat als ik mijn werk op dit domein binnenkort werkelijk ga professionaliseren ik het niet langer zo kon doen... Echter wilde ik voorkomen dat ik voor elke user een DNS CNAME moest plaatsen, dus wilde ik het zoals het al was, door apache zelf laten oplossen, maar dan geautomatiseerd.
Op deze manier linkt Apache nut.fun-industries.nl door naar mijn html folder in /home/nut/ maar uiteraard als je nu www.fun-industries.nl/~nut doet komt deze daar ook op uit. Dit wilde ik standaard zo houden maar geschikt maken voor meerdere gebruikers, zonder steeds zo'n stuk configuratie in de apache config te plakken.
Na lang zoeken en lezen, en proberen, en weer een howto opzoeken, en weer lezen en testen en proberen ben ik tot de hier onder toegevoegde oplossing gekomen: Ik rewrite nu het url nut.fun-industries.nl of www.nut.fun-industries.nl naar www.fun-industries.nl/~nut ... dat werkt ook perfect, maar wat ik had met de directe virtualhost is daarmee helaas verloren gegaan. Ik had een Virtualdomain nut.fun-industries.nl en apache behandelde dat als een 'server' (servername). Maar nu met deze rewrite actie breek ik daarmee, en ga ik naar het (imo) minder mooie en professioneler ogende www.fun-industries.nl/~user met www.fun-industries.nl ook werkelijk als servername en dat is, naar mijn smaak, niet wenselijk.
Dit bovenstaande werkt totaal zoals het hoord. Daar valt niets meer aan te doen.
Even voor de duidelijkheid, ik heb mijn eigen virtualhost weer terug gezet in de config, dus als je op de linkjes klikt zul je merken dat DAT dus wel werkt, maar dat is in feite cheaten
http://havoc.fun-industries.nl is een van de voorbeelden van een op de rewrite werkende /~user oplossing, http://havoc.fun-industries.nl/blaat/ werkt hierbij ook, en in de onderste regel zie je de naam van de server... 
Echter zit het probleem dus in de oplossing voor het servername en virtual- host/DNS probleem, Ik heb het alsvolgt proberen op te lossen:
Zoals je ziet probeer ik hier voor de gebruikers redirect een viritueel domein te creeren, door gewoon direct naar de juiste map te sturen. Dit werkt ook, echter is de servername nogsteeds het www.fun-industries.nl adres, en dat probeerde ik dus te verhelpen, door de Aliassen toe te voegen. Echter komen er hier een aantal probleempjes om de hoek zeilen... ten eerste een trailing slash probleem, die krijg ik er maar niet uit. OF het werkt MET slash, OF het werkt ZONDER slash... ik krijg het maar niet aan het werk met beide uitvoeringen.... nogal slordig zo lijkt me... plus dat de error documents en de /icons/ en /cgi-bin/ Aliassen nu niet meer werken
Zelfs als ik deze bewuste Alias en directory instellingen binnen de <VirtualHost> tags zet werken ze simpelweg _niet_ 
Wat doe ik fout, en wat kan ik doen om het te verhelpen? En heeft iemand een oplossing voor de ServerName invulling? Ik heb me dood gestaard op de config en de howto's ... ik zie het niet meer
Ik heb tot nu toe altijd mijn userhome verpakt in een viritualhost met de hierna volgende httpd.conf toevoeging. Zo'n zelfde moest ik doen voor ELKE gebruiker die ik door wilde linken met een user.fun-industries.nl url. Alleen kwam ik onlangs op de 8ste entry op deze manier, en toen kwam ik tot de conclusie dat als ik mijn werk op dit domein binnenkort werkelijk ga professionaliseren ik het niet langer zo kon doen... Echter wilde ik voorkomen dat ik voor elke user een DNS CNAME moest plaatsen, dus wilde ik het zoals het al was, door apache zelf laten oplossen, maar dan geautomatiseerd.
code:
1
2
3
4
5
6
7
| <VirtualHost *> ServerAdmin nut@fun-industries.nl DocumentRoot /home/nut/public_html ServerName nut.fun-industries.nl ErrorLog /var/log/apache/nut-error.log TransferLog /var/log/apache/nut-access.log </VirtualHost> |
Op deze manier linkt Apache nut.fun-industries.nl door naar mijn html folder in /home/nut/ maar uiteraard als je nu www.fun-industries.nl/~nut doet komt deze daar ook op uit. Dit wilde ik standaard zo houden maar geschikt maken voor meerdere gebruikers, zonder steeds zo'n stuk configuratie in de apache config te plakken.
Na lang zoeken en lezen, en proberen, en weer een howto opzoeken, en weer lezen en testen en proberen ben ik tot de hier onder toegevoegde oplossing gekomen: Ik rewrite nu het url nut.fun-industries.nl of www.nut.fun-industries.nl naar www.fun-industries.nl/~nut ... dat werkt ook perfect, maar wat ik had met de directe virtualhost is daarmee helaas verloren gegaan. Ik had een Virtualdomain nut.fun-industries.nl en apache behandelde dat als een 'server' (servername). Maar nu met deze rewrite actie breek ik daarmee, en ga ik naar het (imo) minder mooie en professioneler ogende www.fun-industries.nl/~user met www.fun-industries.nl ook werkelijk als servername en dat is, naar mijn smaak, niet wenselijk.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <VirtualHost *>
RewriteEngine on
RewriteLog /var/log/apache/rewrite-log
RewriteLogLevel 1
RewriteCond %{HTTP_HOST} ^[^.]+\.fun-industries\.nl$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.fun-industries\.nl(.*) http://%{SERVER_NAME}/~$1$2 [L,R]
RewriteCond %{HTTP_HOST} ^www\.[^.]+\.fun-industries\.nl$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^www\.([^.]+)\.fun-industries\.nl(.*) http://%{SERVER_NAME}/~$1$2 [L,R]
DocumentRoot /home/http/
ServerName www.fun-industries.nl
ServerAlias *.fun-industries.nl
ServerAlias www.*.fun-industries.nl
ErrorLog /var/log/apache/user-error.log
TransferLog /var/log/apache/user-access.log
</VirtualHost> |
Dit bovenstaande werkt totaal zoals het hoord. Daar valt niets meer aan te doen.
Even voor de duidelijkheid, ik heb mijn eigen virtualhost weer terug gezet in de config, dus als je op de linkjes klikt zul je merken dat DAT dus wel werkt, maar dat is in feite cheaten
Echter zit het probleem dus in de oplossing voor het servername en virtual- host/DNS probleem, Ik heb het alsvolgt proberen op te lossen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <VirtualHost *>
RewriteEngine on
RewriteLog /var/log/apache/user-rewrite-log
RewriteLogLevel 9
RewriteCond %{HTTP_HOST} ^[^.]+\.fun-industries\.nl$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.fun-industries\.nl(.*) /home/$1/public_html$2/~$1$2 [L,R]
RewriteCond %{HTTP_HOST} ^www\.[^.]+\.fun-industries\.nl$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^www\.([^.]+)\.fun-industries\.nl(.*) /home/$1/public_html$2/~$1$2 [L,R]
ServerName www.fun-industries.nl
ServerAlias *.fun-industries.nl
ServerAlias www.*.fun-industries.nl
ErrorLog /var/log/apache/user-error.log
TransferLog /var/log/apache/user-access.log
DocumentRoot /home/http/
</VirtualHost> |
Zoals je ziet probeer ik hier voor de gebruikers redirect een viritueel domein te creeren, door gewoon direct naar de juiste map te sturen. Dit werkt ook, echter is de servername nogsteeds het www.fun-industries.nl adres, en dat probeerde ik dus te verhelpen, door de Aliassen toe te voegen. Echter komen er hier een aantal probleempjes om de hoek zeilen... ten eerste een trailing slash probleem, die krijg ik er maar niet uit. OF het werkt MET slash, OF het werkt ZONDER slash... ik krijg het maar niet aan het werk met beide uitvoeringen.... nogal slordig zo lijkt me... plus dat de error documents en de /icons/ en /cgi-bin/ Aliassen nu niet meer werken
Wat doe ik fout, en wat kan ik doen om het te verhelpen? En heeft iemand een oplossing voor de ServerName invulling? Ik heb me dood gestaard op de config en de howto's ... ik zie het niet meer