Avatar billede superbent Nybegynder
17. august 2001 - 15:01 Der er 7 kommentarer og
1 løsning

Subdomæner

jeg har en server, hvorpå, der er nogle brugere.

indtil videre har disse brugere deres filer liggende som www.domæne.dk/brugerdir... fysisk ligger de som /pack/www/brugerdir, hvor /pack/www er roden på www.domæne.dk.

jeg har wildcards på mit domæne.

jeg kunne godt tænke mig, om man kunne få apache til automatisk at behandle subdomæner som virtual hosts, uden at man manuelt skal oprette det...

noget i retning af
<VirtualHost *>
DocumentRoot /pack/www/$var
ServerName $var.domæne.dk
</VirtualHost>

kan man det, og hvordan?
Avatar billede thomasledet Nybegynder
17. august 2001 - 16:20 #1
lytter med...:)
Avatar billede webson Nybegynder
17. august 2001 - 17:00 #2
dette forudsætter dog at du har installeret php

denne fil kalder du \"default.php\"


<?

$domain = \"dit-domæne.dk\";

$default_page = \"index2.php\";

# Do you want to use frames?
$use_frames = \"yes\";


$underdomaene = $HTTP_HOST;
$underdomaene = eregi_replace(\"\\.\".$domain, \"\", $underdomaene);
$underdomaene = eregi_replace(\"www\\.\", \"\", $underdomaene);
$underdomaene = strtolower($underdomaene);

# If the sub domain is the name of a directory in the document root...
if (is_dir(\"$underdomaene\")) {
    # The frames version:
    if ($use_frames == \"yes\") {
        echo \"<html><head><title>$domain/$underdomaene</title>\\n\\n\";
        echo \"<!---------------------------------------------------------------------\\n\";
        echo \"  The sub domains at $domain were created using\\n\";
        echo \"  the PHP script \\\"Subdomains\\\"\\n\";
        echo \"---------------------------------------------------------------------->\\n\\n\";
        echo \"</head>\\n\\n\\n\\n\";
        echo \"<frameset cols=100%,* frameborder=no border=0 framespacing=0>\\n\";
        echo \"<frame src=http://$domain/$underdomaene>\\n\";
        echo \"<noframes>\\n\";
        echo \"<body bgcolor=black link=silver alink=black vlink=gray>\\n\";
        echo \"<font face=helvetica color=white><center>\\n\";
        echo \"This page uses frames, but it seems that your browser does not support this feature.\\n\";
        echo \"To move on, click here:<br><a href=http://$domain/$underdomaene>$domain/$underdomaene</a>\\n\";
        echo \"</center></font>\\n\";
        echo \"</body>\\n\";
        echo \"</noframes>\\n\";
        echo \"</frameset></html>\\n\";
    }

    # The non-frames version:
    else {
        header(\"Location: http://$domain/$underdomaene\");
    }
}

# If the sub domain is NOT the name of a directory in the document root...
else {
    if (!$REQUEST_URI || $REQUEST_URI == \"/\") {
        include(\"index2.php\");
    }
    else {
        header(\"Location: http://$domain$REQUEST_URI\");
    }
}
?>




og så kalder du bare din forside \"index2.php\"
så vil alle dine mapper virke som subdomæner


Avatar billede thomasledet Nybegynder
17. august 2001 - 21:02 #3
hmm... det må sguda kunne gøres uden brug af skumle php-scripts.... kan apache virkelig ikke gøre det?
Avatar billede disky Nybegynder
20. august 2001 - 08:31 #4
Superbent:
Du skal selv rette i apache\'s conf fil, hvordan skulle den ellers vide hvad du ønsker af subdomæner ?



webson:
Undskyld jeg siger det, men at bruge et php script er sygt, hvis man har adgang til at configurere apache serveren. Din løsning er kun fornuftig hvis man ikke kan rette i apache\'s conf.
Avatar billede thomasledet Nybegynder
20. august 2001 - 13:51 #5
disky> Det ser lidt ud til, at der kan rettes så meget som ønskes i httpd.conf... :) men kan det overhovedet lade sig gøre at gøre som suberbent ønsker... med at oprette een virtual host, der virker for alle subdomæner, eller skal man oprette alle subdomæner manuelt (med en ny virtual host for hver)... det kan da ikke passe, at det ikke kan lade sig gøre...
Avatar billede disky Nybegynder
20. august 2001 - 13:54 #6
Apache kan kun konfigureres, ikke programmeres.
Avatar billede thomasledet Nybegynder
20. august 2001 - 16:22 #7
der er heller ikke blevet sagt noget om at programmere apache... bare spurgt om det ikke kan lade sig gøre.... er der ikke noget med noget rewrite, der burde kunne gøre tricket?
Avatar billede thomasledet Nybegynder
20. august 2001 - 16:50 #8
superbent>Dette burde gøre tricket:

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

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester