Avatar billede vind Nybegynder
06. juni 2004 - 17:00 Der er 11 kommentarer og
1 løsning

Subdomænescript-fejl

Jeg bruger nedenstående script til min hjemmeside og diverse undersider. Det virker dog ikke med www foran.
Er det mon muligt at tilføje noget til scriptet - eller finde et lignende - sådan at det også virker med www foran??

Scriptet:

<?
#####################################################################
#  Subdomains 0,51
#  Released under the terms of the GNU General Public License.
#  Please refer to the README file for more information.
#####################################################################

#####################################################################
#  PLEASE EDIT THE FOLLOWING VARIABLES:
#####################################################################

# Your domain name. NO "www." IN FRONT OF IT. NO SLASHES ("/").
# Just the actual domain name, i.e. "yourdomain.com"

$domain = "vinds.dk";

# The default page that the visitors should be redirected to if
# they don't request a sub domain or they request a non-existing
# sub domain. This page could be named "welcome.html",
# "front_page.html" or something similar. The page should be
# located in your document root. If you can view the page by
# entering "http://yourdomain.com/welcome.html" in your browser,
# then it is located in the document root.

$default_page = "startsted.php";

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

#####################################################################
#  THAT'S IT! NO MORE EDITING NECESSARY.
#####################################################################


$underdomaene = $_SERVER['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("$_SERVER[DOCUMENT_ROOT]/$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 (!$_SERVER['REQUEST_URI'] || $_SERVER['REQUEST_URI'] == "/") {
        include("$_SERVER[DOCUMENT_ROOT]/$default_page");
    }
    else {
        header("Location: http://$domain$_SERVER[REQUEST_URI]");
    }
}
?>

Venlig hilsen
Andreas Vind.
Avatar billede dennismp Nybegynder
06. juni 2004 - 17:10 #1
Hvad er problemet? Det ser ud som om at hvis scriptet "ser" at der står www-etellerandet, så fjerner den det og bruger etellerandet som domæne.. Er dette problemet?
Avatar billede vind Nybegynder
06. juni 2004 - 17:59 #2
Problemet er, at når man skriver fx. http://bs.vinds.dk , så er der ingen problemer, men når man skriver http://www.bs.vinds.dk , så melder den fejl!!

//vind
Avatar billede dennismp Nybegynder
06. juni 2004 - 18:05 #3
Hvad er det for en fejl du får?
Avatar billede vind Nybegynder
06. juni 2004 - 18:10 #4
"HTTP 400 - Ugyldig anmodning" - får du ikke det når du ser www.bs.vinds.dk??

//vind
Avatar billede dennismp Nybegynder
06. juni 2004 - 19:27 #5
Hhmm

prøv efter :
$underdomaene = strtolower($underdomaene);

at tilføje
die("$_SERVER[DOCUMENT_ROOT]/$underdomaene");

.. hvad skriver den?
Avatar billede vind Nybegynder
06. juni 2004 - 20:25 #6
Den kommer stadig med "Siden blev ikke fundet"-siden...

//vind
Avatar billede dennismp Nybegynder
06. juni 2004 - 20:28 #7
og du satte den ind imellem "$underdomaene = strtolower($underdomaene);" og "# If the sub domain is the name of a directory in the document root..." ?

Den burde komme ud med en fejl ligemeget hvad :-)
Avatar billede vind Nybegynder
06. juni 2004 - 21:47 #8
Nu skete der endelig noget!
Nu skriver den blot roden til min index-fil, altså
/customers/vinds.dk/vinds.dk/httpd.www/www

Mine subdomæner virker stadig??!!??

//vind
Avatar billede dennismp Nybegynder
06. juni 2004 - 21:58 #9
De bør ikke virke med mindre du gå direkte ind i deres directory (måske er det browserens cache der driller dig?).

prøv at fjerne dette;
$underdomaene = eregi_replace("www\.", "", $underdomaene);

og erstatte med

if( strpos($underdomaene,'www.') === 0 )
  $underdomaene = substr($underdomaene,4);

det burde ikke give nogen forskel..
Avatar billede vind Nybegynder
06. juni 2004 - 22:18 #10
nej desværre, men det er der bare ikke noget at gøre ved. Jeg overlever nok, og der er jo ingen problemer når man bare undgår at bruge www... :)

Men tak for din hjælp og tålmodighed!!
Læg lige et svar!

//vind
Avatar billede dennismp Nybegynder
06. juni 2004 - 22:26 #11
Næste skridt vil ellers være at prøve at erstatte header(..) med echo(..) og så se hvad den skriver ud.. :)
Avatar billede dennismp Nybegynder
06. juni 2004 - 22:26 #12
Hvis du har lyst/mod på at forsætte - så er det ikke et problem for mig.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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