Bonjour,

Je travail actuellement sur la mise en place d'un serveur web (apache2) mutualisé. pour cela j'ai donc créer des VirtualHosts pour pouvoir héberger plusieurs sites. Jusque là tout ce passe bien.
Le problème est que lorsque je souhaite accéder au site http://www.monsite.fr/, il répond très bien, mais quand je modifie l'URL et que je tape pour exemple dans mon navigateur http://test.monsite.fr/ ou même http://abcd.monsite.fr/, le site web s'affiche aussi (Alors que les dossiers test/ et abcd/ n’existe pas). Même en tapant http://monsite.fr/, il s'affiche.

Hors moi je souhaite mettre, comme il ce doit le contenu du site web dans le dossier www/, et mettre en amont des dossier log/, stats, ou MySQL/, bref je souhaite que lorsque l'on tape http://test.monsite.fr/ ou http://abcd.monsite.fr/ ou même http://monsite.fr/ être redirigé automatiquement sur http://www.monsite.fr/ (si abcd/ ou test/ n’existe pas).

Par avance merci pour votre aide.
Si jamais parmi vous quelqu'un serait ou trouver un tuto pour la mise en place de serveur mutualisé, avec ftp, stats, ect... je suis preneur car je n'ai rien trouver de concret, et je doit donc me débrouillé comme je peut avec les maigres connaissances que j'ai.

Merci

6 réponses


Leny
Réponse acceptée

Tel que c'est là, c'est normal que tout tes sous-domaines pointent sur www.
Personnellement, sur mon serveur, les sous-domaines qui n'existent pas, ou quand on en mets pas, ça va sur www.
Et tous les sous-domaines spécifiques sont explicitement définis.
Pour info, voici un de mes fichiers de vhost:

<VirtualHost *:80>
        ServerName stock.monsite.fr
        DocumentRoot /home/monsite/web/stock/
        ErrorLog /home/monsite/logs/error.stock.log
        LogLevel warn
        CustomLog /home/monsite/logs/access.stock.log combined
</VirtualHost>
<VirtualHost *:80>
        ServerAdmin postmaster@monsite.fr
        ServerName www.monsite.fr
        ServerAlias monsite.fr *.monsite.fr
        DocumentRoot /home/monsite/web/www/
        ErrorLog /home/monsite/logs/error.log
        LogLevel warn
        CustomLog /home/monsite/logs/access.log combined
        ServerSignature Off
</VirtualHost>

Tu pourrais montrer ton fichier de vhost ?

voici le VirtualHost que j'utilise pour mes différents sites web :

<VirtualHost *:80>
    ServerAdmin Contact@monsite.fr
    ServerName monsite.fr
    ServerAlias www.monsite.fr

    DocumentRoot /var/www/monsite/www/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/monsiteweb/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog /var/www/monsite/log/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

Merci ton fichier de VH m'a permit de corriger certaines erreurs, mais maintenant il y a deux chose qui ne fonctionne toujours pas :

Merci.

Je suis arriver à me débrouiller en bloquant les sous domaine qui n’existe pas.
Merci

Salut Ernesto,

pour rediriger l'ensemble des sous domaines vers tondomain.com , c'est simple, il suffit de faire comme ceci :

<VirtualHost *:80>
    ServerAlias *.tondomain.com
    Redirect / http://tondomain.com/
</VirtualHost>

tu met ça dans un fichier que tu nommes pas exemple : sub.tondomain.com dans

Et dans ton fichier tondomain.com , tu inscris :

<VirtualHost *:80>
    ServerAlias tondomain.com

    ...
</VirtualHost>

Par contre, je te déconseille ce genre de manipulation, même si c'est sous le même nom de domain, les visiteurs n'aiment pas trop se faire rediriger sans être prévenu !