PDA

Bekijk Volledige Versie : Domeinnaam redirect naar submap?



johny48
24/01/04, 23:12
Weet iemand hoe ik een domeinnaam naar een subdirectory van een andere domeinnaam redirect met een virtual server in Apache?

Voor de duidelijkheid:

Al een persoon www.domein1.nl typt in de browser vervolgens uitkomt in www.domein2.nl/domein1.

Ik hoop dat iemand me kan helpen. Op de webside van Apache kon ik niks vinden.

EmmanuelEmseli
25/01/04, 02:02
Euhm, je hoeft hier geen speciale virtualhost voor in te stellen hoor. In de documentroot van www.domein1.nl kun je gewoon een index.php plaatsen met de volgende forward-code in:

<? header("Refresh: 0; url=http://www.domein2.nl/subdirectory/"); ?>

ThePostman
25/01/04, 02:04
kan je ook:
<? header("Refresh: 0; url=http://www.domein.nl/subdirectory/index.php"); ?>

Dat hij meteen naar de index gaat?

roland
25/01/04, 02:47
Gaat standaard toch al naar de index, is dus niet nodig.

Je kan ook dit gebruiken:

<?php @header("location: http://www.domein2.nl/subdir/bestand.ext");die;?>

Deze header stuurt de gebruiker gelijk door ipv de pagina herladen naar de opgegeven url. Het is belangrijk om @ ervoor te zetten zodat deze fouten onderdrukt en de "die" zorgt ervoor dat de rest van de pagina niet geladen wordt want dat is niet nodig.

johny48
25/01/04, 20:22
Aanvulling redirecten naar subdomein:

Als een persoon www.domein1.nl typt in de browser vervolgens uitkomt in www.domein2.nl/domein1.

Als een persoon www.domein2.nl in typt moet hij gewoon in www.domein2.nl uit komen.

Is het dan nog steeds mogelijk om met 1 virtueel domein te werken?

Groet John

excistor
26/01/04, 12:06
Origineel geplaatst door roland
Gaat standaard toch al naar de index, is dus niet nodig.

Je kan ook dit gebruiken:

<?php @header("location: http://www.domein2.nl/subdir/bestand.ext");die;?>

Deze header stuurt de gebruiker gelijk door ipv de pagina herladen naar de opgegeven url. Het is belangrijk om @ ervoor te zetten zodat deze fouten onderdrukt en de "die" zorgt ervoor dat de rest van de pagina niet geladen wordt want dat is niet nodig.

die; is zowieso niet nodig, hij gaat meteen door zonder te laden.
stel dat hij hem laadt: als je hem meteen doorstuurt waarom zou je dan een hele pagina maken, dus waarom zou hij uberhaupt die gebruiken als dat de enige regel is in de file. :p

Qweb
31/01/04, 23:36
Gebruik voodoo, aka RewriteEngine van apache :)

Zet het volgende in een .htaccess en plaats het in de documentroot van domein2.nl:



RewriteEngine On
RewriteCond %{HTTP_HOST} ^domein1\.nl$ [OR]
RewriteCond %{HTTP_HOST} ^.*\.domein1\.nl$
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteRule (.*) /subdir/$1

roland
01/02/04, 01:39
die; is zowieso niet nodig, hij gaat meteen door zonder te laden.
stel dat hij hem laadt: als je hem meteen doorstuurt waarom zou je dan een hele pagina maken, dus waarom zou hij uberhaupt die gebruiken als dat de enige regel is in de file.

Dan mag jij al je scripts eens gaan nalopen, is niet goed voor de performace.

Vanaf php.net:

<?php
header("Location: http://www.example.com/"); /* Redirect browser */

/* Make sure that code below does not get executed when we redirect. */
exit;
?>

Voila, goed voor de performance als jij flink wat mysql queries op deze pagina hebt staan. Rekening houden met de performance e.d. is zeer belangrijk bij het programmeren.

Darkcripter
01/02/04, 12:42
dat wist ik nog niet

Theo
01/02/04, 14:18
Nog simpeler, in .htaccess in de root van www.domein1.nl:

Redirect / http://www.domein2.nl/domein1

Qweb
02/02/04, 21:51
de root van www.domein1.nl en www.domein2.nl zijn het zelfde (er wordt gewerkt met 1 virtual host, zie een paar berichten eerder). Dit verhaal gaat dus niet op.

johny48
02/02/04, 22:48
Ik beb het voor elkaar door dit in de index.php van www.domein1.nl te plaatsen:
<?php header("Location: http://www.domein2.nl/domein1");exit; ?>
Van rewriten heb ik nog geen kaas gegeten. Het zou makkelijk zijn als ik maar van één virtuele host (www.domein2.nl) gebruik zou kunnen maken, als dat mogelijk is. Bedankt zover voor de hulp

Qweb
02/02/04, 22:54
1 virtual host is mogelijk met de .htaccess die ik heb gegeven
mod_rewrite moet wel geladen zijn

InstantXs
02/02/04, 23:01
Origineel geplaatst door roland


Dan mag jij al je scripts eens gaan nalopen, is niet goed voor de performace.

Vanaf php.net:

<?php
header("Location: http://www.example.com/"); /* Redirect browser */

/* Make sure that code below does not get executed when we redirect. */
exit;
?>

Voila, goed voor de performance als jij flink wat mysql queries op deze pagina hebt staan. Rekening houden met de performance e.d. is zeer belangrijk bij het programmeren.

Maar als je geen code na de header hebt staan is het gewoon overbodig.
Ik zie al helemaal niet in waarom je op deze pagina ook nog sql queries zou gebruiken, daar hij daar nooit bij komt.

Kortom: overbodig :D

TMourik
02/02/04, 23:16
en stel dat persoon X dit nou wil, zonder toegang tot apache conf en dan wel met behoud van domein?

Qweb
02/02/04, 23:42
.htaccess

moet ik dat nog vaak herhalen?

Een domein komt altijd op een bepaalde site uit, namelijk de documentroot wat in httpd.conf of apache.conf is ingesteld. Daarvoor hoef je geen virtual host aan te maken. En daar zet je in de .htaccess de regels die ik heb gegeven.

johny48
07/02/04, 22:46
Thanks Qweb. IK ga het ook eens met een .htaccess-bestandje broberen.

johny48
07/02/04, 22:51
Thanks Qweb. Ik ga het ook eens met een .htaccess-bestandje proberen.