[.htaccess] GET variabel als subdomein

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Lieve tweakers,

Na een poos te hebben gezocht, kwam ik er tot mijn verbazing achter dat mijn vraag nog niet voorbij is gekomen.

Met behulp van .htaccess zou ik graag voor zorgen dat een get variabel 'url' ( In PHP: $_GET['url'] ) wordt herschreven als een subdomein.

Mijn url's zijn momenteel op de volgende manier opgebouwd:

http://www.domein.nl/index.php?url=%subdomein%&var2=variabel2

Graag zou ik deze omvormen naar:

http://%subdomein%.domein.nl/index.php?var2=variabel2

Nu gebruik ik de volgende regels in mijn .htaccess bestand:
code:
1
2
3
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*).domein.nl [NC]
RewriteRule ^$ http://%1.domein.nl/index.php?url=%1 [L,R]

* domein.nl is uiteraard het juiste domein

Toch wordt een subdomein niet herkend (browser geeft een 'Server niet gevonden fout').
Scheelt er iets aan mijn syntax? Wellicht dat een handige tweaker raad weet.

Ik heb de code draaien op een Linux server. .htaccess wordt uiteraard ondersteund.

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op dinsdag 25 augustus 2009 @ 13:58:
Lieve tweakers,

Na een poos te hebben gezocht, kwam ik er tot mijn verbazing achter dat mijn vraag nog niet voorbij is gekomen.

Met behulp van .htaccess zou ik graag voor zorgen dat een get variabel 'url' ( In PHP: $_GET['url'] ) wordt herschreven als een subdomein.

Mijn url's zijn momenteel op de volgende manier opgebouwd:

http://www.domein.nl/index.php?url=%subdomein%&var2=variabel2

Graag zou ik deze omvormen naar:

http://%subdomein%.domein.nl/index.php?var2=variabel2

Nu gebruik ik de volgende regels in mijn .htaccess bestand:
code:
1
2
3
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*).domein.nl [NC]
RewriteRule ^$ http://%1.domein.nl/index.php?url=%1 [L,R]

* domein.nl is uiteraard het juiste domein

Toch wordt een subdomein niet herkend (browser geeft een 'Server niet gevonden fout').
Scheelt er iets aan mijn syntax? Wellicht dat een handige tweaker raad weet.

Ik heb de code draaien op een Linux server. .htaccess wordt uiteraard ondersteund.
zonder ooit iets gedaan te hebben met .htaccess denk ik dat het zo moet zijn...

code:
1
2
3
4
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(!www)\.domein.nl [NC] #voorkomt loopje
RewriteCond %{HTTP_HOST} ^(.*)\.domein.nl [NC]
RewriteRule ^(.*)$ http://www.domein.nl/index.php?url=$1 [L,R]


ik heb overigens geen idee of je 2de var nu meegenomen wordt ("&" moet dan sowieso nog toegevoegd worden) en naar 5 mins googlen denk ik ook niet dat ik het snel ga vinden zonder te testen :). deze post is iig helder en zijn cheatsheet is ook makkelijk: http://www.addedbytes.com...-rewriting-for-beginners/

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op dinsdag 25 augustus 2009 @ 18:39:
[...]

code:
1
2
3
4
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(!www)\.domein.nl [NC] #voorkomt loopje
RewriteCond %{HTTP_HOST} ^(.*)\.domein.nl [NC]
RewriteRule ^(.*)$ http://www.domein.nl/index.php?url=$1 [L,R]
Hoi iis5_rulez, je code ziet ziet er goed uit, een verbetering van wat ik had.

Vreemdgenoeg functioneerd het huidige .htaccess bestand ook niet, een subdomein wordt immers nog steeds niet herkend. Uiteraard heb ik 'domein.nl' in het scriptje aangepast. Mijn host ondersteund gewoon .htaccess bestanden en daarmee ook subdomeinen. Zou het probleem toch aan het .htaccess script liggen? Iemand?

Daarnaast 'test' ik het .htaccess bestand met het volgende plakje php:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

if($_GET['url'] == "testurl") {

  echo "Eens kijken of het subdomein werkt!";

} else {

  echo "Geen subdomein opgegeven.";

}

?>