Wildcard-Deal mit www als Subdomain

-1

Ich verwende Wildcard mit Apache

meine APACHE CONFIG:

ServerAlias *.staronece1.com
DocumentRoot /staronece1/domains

meine benannte Datei

$ttl 38400
staronece1.com.      IN      SOA     staronece1.com. email.yahoo.com. (
                        1334838782
                        10800
                        3600
                        604800
                        38400 )
staronece1.com.      IN      NS      staronece1.com.
staronece1.com.      IN      A       95.19.203.21
www.staronece1.com.  IN      A       95.19.203.21
server.staronece1.com. IN     A      95.19.203.21
mail.staronece1.com. IN      A       95.19.203.21
ns1.staronece1.com.  IN      A       95.19.203.21
ns2.staronece1.com.  IN      A       95.19.203.21
staronece1.com.      IN      NS      ns1.staronece1.com.
staronece1.com.      IN      NS      ns2.staronece1.com.
staronece1.com.      IN      MX      10 mail.staronece1.com.
* 14400 IN A 95.19.203.21
*.staronece1.com IN A 95.19.203.21

meine PHP-Testdatei

/staronece1/domains/index.php



<?php

    function getBname(){
        $bname=explode(".",$_SERVER['HTTP_HOST'],2);
        return $bname[0];
    }

    echo 'SubDomain is :'.getBname();
?>

wenn ich gehe zu something.staronece1.com

Ich bekomme dieses Ergebnis SubDomain is : something

Nein, das Problem ist

if i go to www.staronece1.com

Ich sollte ein leeres Ergebnis erhalten, da www keine Subdomain ist

aber ich bekomme dieses Ergebnis

SubDomain is : www

Und wenn ich gehe zu www.something.staronece1.com

Ich erhalte eine Firefox-Fehlermeldung (Seite nicht gefunden)

Wie kann ich dieses Problem beheben?

Ich denke, die Lösung ist: Datensatz für www in der genannten Datei hinzugefügt

Vielen Dank

Alaa Gamal
quelle
4
wwwist definitiv eine Subdomain.
Skyhawk
@Miles, Wie kann ich dieses Problem beheben?
Alaa Gamal

Antworten:

3

Wie Miles bemerkte, wwwhandelt es sich um eine reguläre Subdomain, die sich nicht unterscheidet something. In diesem Sinne ist es sehr irreführend, und es ist nicht deine Schuld, dass du sie verwirrt hast.

Zum einen sind die DNS-Zonen irrelevant: Sie www.staronece1.commüssen eine Auflösung vornehmen, sonst funktioniert die Website überhaupt nicht. Lassen Sie das also in Ruhe.

Wenn Sie dieses Verhalten wirklich möchten, müssen Sie ServerAlias www.staronece1.com vor Ihrem aktuellen Platzhalter einen separaten Platzhalter verwenden ServerAlias.

Namensbasierte virtuelle Hosts für den am besten passenden Satz von s werden in der Reihenfolge verarbeitet, in der sie in der Konfiguration angezeigt werden. Der erste übereinstimmende Servername oder ServerAlias ​​wird verwendet, ohne unterschiedliche Rangfolge für Platzhalter (oder für Servername und ServerAlias).

http://httpd.apache.org/docs/current/mod/core.html#serveralias

Jay
quelle
0

Ich bin nicht sicher, ob ich verstehe, was das Problem ist. Der Server verhält sich wie vorgesehen. Wenn das Problem darin besteht, dass www.something.staronece1.com nicht funktioniert, fügen Sie einen DNS-Eintrag für www.something.staronece1.com hinzu und fügen Sie Ihrer httpd.conf eine weitere Serveralias-Zeile hinzu:

ServerAlias *.*.staronece1.com

Fügen Sie es im Idealfall unter den anderen ServerAlias-Zeilen hinzu.

Trommelkiller
quelle