web-dev-qa-db-fra.com

Besoin d'aide pour que 'www' fonctionne avec les domaines et les sous-domaines utilisant Apache et DNS

J'ai parcouru de nombreux articles différents en posant cette question et je n'ai pas encore trouvé de réponse simple sur la manière de résoudre ce problème.

Pour le moment, avec les paramètres suivants, l'ajout d'un www à l'avant de mon domaine ou de mon sous-domaine ne charge pas la page Web, une redirection indiquant que mon domaine est introuvable.

Quelqu'un pourrait-il expliquer comment je peux obtenir que www.domain.com et www.subdomain.domain.com fonctionnent?

Actuellement, j'ai les enregistrements DNS suivants:

EDIT: ce sont les enregistrements DNS qui ont fonctionné APRÈS la réponse de closetnoc

Je n'avais pas le CNAME avant

A         @                1.2.3.4
A         subdomain        1.2.3.4
CNAME     www              domain.com.
CNAME     www.subdomain    subdomain.domain.com.

J'ai aussi un fichier hôte virtuel comme suit ci-dessous (et un autre pour le sous-domaine, mais vous obtenez le Gist). C'est pour forcer la redirection vers HTTPS:

<VirtualHost *:80>
     RewriteEngine on
     ReWriteCond %{SERVER_PORT} !^443$
     RewriteRule ^/(.*) https://%{HTTP_Host}/$1 [NC,R,L]
</VirtualHost>

<VirtualHost *:443>
    ServerName domain.com
    ServerAlias www.domain.com
    ServerAdmin webmaster@localhost
    DocumentRoot /path/to/public_html

    SSLEngine on
    SSLCertificateFile /path/to/domain.crt
    SSLCertificateKeyFile /path/to/domain.key
    SSLCertificateChainFile /path/to/domain-bundle

    <Directory "/path/to/public_html">
       AllowOverride All
    </Directory>

    ErrorLog ${Apache_LOG_DIR}/domain-error.log
    CustomLog ${Apache_LOG_DIR}/domain-access.log combined
</VirtualHost>
1
bryan

Il manque quelques éléments à votre exemple DNS. Voici comment je mettrais les choses en place.

example.com A 10.0.11.101
www CNAME example.com
sub-domain CNAME example.com
www.sub-domain CNAME example.com

Si tous sont sur un seul serveur Web, le serveur Web prendra l'en-tête de la demande et répondra à la demande en conséquence.

Dans ce cas, seul votre domaine parent nécessite une adresse IP. Rappelez-vous, il s’agit de router les noms de domaine vers des adresses IP uniquement. Pour le reste, CNAME est un alias qui pointe vers votre nom de domaine. Ainsi, pour www.example.com, sub-domain.example.com et www.sub-domain.example.com, ils utiliseront tous l'adresse IP de example.com.

Vous aurez besoin d'un site similaire configuré pour sub-domain.example.com et www.sub-domain.example.com, comme vous le faites par exemple.com et www.example.com. N'oubliez pas que les sous-domaines sont des sites distincts du site parent et doivent être configurés en tant que nouveau site. Si vous souhaitez que le contenu du sous-domaine soit diffusé hors de votre domaine parent, la question est toute autre, mais le site du sous-domaine doit tout de même être créé.

2
closetnoc