2010-10-04 16 views
2

J'ai un certain nombre de sous-domaines sur l'un de mes sites. Quand quelqu'un va à un sous-domaine qui n'existe pas, je veux rediriger vers une page 404 sur mon domaine principal.Création d'une page d'erreur pour un sous-domaine qui n'existe pas

noexist.example.com -> example.com/404.php?subdomain=noexist (ou sans la chaîne de requête si HTTP_REFERRER peut me donner cette information)

Je suis en cours d'exécution LAMP sur un VPS avec cPanel installé. Je peux éditer le fichier de zone DNS pour le domaine via WHM.

+3

Ne pas rediriger pour une erreur. Il suffit de l'envoyer directement (afficher l'erreur 404 directement au lieu de la rediriger) ... Sinon, vous allez casser la norme en émettant une erreur 30x pour un emplacement inexistant, puis une erreur 404 pour un emplacement qui n'existe pas ... – ircmaxell

+1

Comme @ircmaxell sais, avec l'addition que vous pourriez opter pour (1) configurer un vhost '* .example.com' pour des sous-domaines inexistants (à condition que vous les ayez tous explicitement définis dans un autre vhost) et (2) Avec les paramètres de journalisation appropriés, Apache peut enregistrer l'hôte http et le referer demandés pour vous, et pour analyser ces journaux afin d'obtenir des statistiques, une multitude d'outils sont disponibles. – Wrikken

+0

@ircmaxell Redirection peut avoir été le mauvais mot. Je voudrais montrer une page 404 indépendamment, indépendamment de l'emplacement physique de la page. – Jazzerus

Répondre

1

Après quelques heures de billetterie du centre de soutien de mon serveur, j'ai finalement obtenu les sous-domaines génériques mis en place. Maintenant, quand un utilisateur va à subdomain.example.com, si ce sous-domaine a été explicitement mis en place via cPanel, il fonctionnera de manière appropriée. Si ce sous-domaine n'a pas été explicitement configuré, il sera redirigé vers example.com, où je peux saisir le sous-domaine utilisé et le gérer si nécessaire (afficher une page, rediriger vers un sous-domaine ou afficher une erreur 404).

0

Il ya une tonne de tutoriels sur la façon de créer une page personnalisée 404, pas besoin de rediriger car apache devrait prendre soin de cela pour vous.

+0

Ces liens permettent de configurer une page 404 sur un domaine existant. Dans mon scénario, un utilisateur peut aller à sub.example.com où le sous-domaine "sub" n'a pas été créé et n'existe pas. Actuellement, lorsqu'un navigateur rencontre un sous-domaine inexistant, il vous indique simplement qu'il ne peut pas résoudre le serveur. Je veux aller à une page d'erreur à la place. – Jazzerus