Drupal est livré avec une page (qui est la page d'accueil par défaut) qui est affectée au chemin du nœud .
Comment éviter que les utilisateurs ne l'atteignent et les rediriger vers la page d'accueil réelle du site?
Drupal est livré avec une page (qui est la page d'accueil par défaut) qui est affectée au chemin du nœud .
Comment éviter que les utilisateurs ne l'atteignent et les rediriger vers la page d'accueil réelle du site?
Réponses:
Il n'y a pas de moyen facile de masquer cette page. Si vous ne l'utilisez pas, vous pouvez implémenter hook_menu_alter () , et soit le supprimer complètement, soit définir son rappel d'accès sur FALSE
.
Créez un alias de chemin qui redirige depuis / node vers la page que vous souhaitez utiliser comme première page.
Je préfère modifier le rappel de page de / node pour qu'il affiche une page d'erreur 404.
Cela montre toujours votre page 404 personnalisée lors de l'accès à / node.
function yourmodule_menu_alter(&$items) {
$items['node']['page callback'] = 'drupal_not_found';
}
J'ai utilisé le module de redirection : je viens d'ajouter une nouvelle redirection 301 de node
à <front>
.
Semblable à la réponse de berdirs, j'ai le code suivant inclus dans un module qui fait partie d'une distribution personnalisée à partir de laquelle nous construisons:
function HOOK_menu_alter(&$items) {
$items['node']['page callback'] = '_HOOK_empty_home';
}
function _HOOK_empty_home() {
drupal_set_title('');
return '';
}
De cette façon, je peux garder le chemin du «nœud» comme première page et utiliser le contexte pour positionner les blocs pour créer la première page requise.
La solution la plus simple pour moi a été de créer une page que je voulais être la page d'accueil et de définir l'URL sur / node. Ensuite, sous / admin / config / system / site-information, définissez la page d'accueil par défaut sur / node. Vous ne voyez jamais "/ node" dans l'URL à moins que quelqu'un ne l'ait réellement saisi. C'est rapide, facile et propre, à condition que vous souhaitiez définir l'URL de votre page d'accueil sur / node.
J'ai essayé plusieurs choses. Ensuite, pour Drupal 7 et 8, j'ai trouvé que c'était plus facile, sans écrire de code:
téléchargez et activez les modules node_page_disable, globalredirect et redirect.
(Remarque: le module node_page_disable redirige / node vers la page d'erreur 404 introuvable.)
puis ajoutez une redirection pour / node -> première page
Veuillez noter que la redirection redirige à la fois / node et / node / vers la page d'accueil.
et un article utile à lire: https://www.drupalaid.com/blog/3-things-you-should-hide
drush @example.com views-disable frontpage
sera donc désactivée. Obtiendra toujours un 404 jusqu'à ce que les autres choses soient faites.
Créez un nœud, puis accédez à la configuration du site -> informations sur le site et définissez la page d'accueil sur le chemin du nœud. Donc, si c'est votre premier nœud, ce serait le nœud / 1.
Modifier: Par défaut, juste en créant un nœud, cette page disparaîtra si vous cochez 'promouvoir en première page'. L'étape d'information sur le site fera de ce nœud votre première page réelle.
/node
peut toujours être atteint, il ne sera tout simplement pas visible par défaut
Vous pouvez utiliser le module Règles pour vérifier l'URL avant d'afficher une page et rediriger les utilisateurs vers une autre page si vous le souhaitez.
Question populaire d'il y a quelques années, avec déjà quelques réponses intéressantes. Cependant, devinez quoi: "Ces jours-ci, il y a un module pour cela ... en fait même deux!" (non mentionné dans aucune des réponses précédentes).
Lisez la suite pour plus de détails ... (les citations proviennent de leurs pages de projet) ...
Administrateur de la page du nœud (D6 ou D7):
Ce module ajoute un panneau de paramètres d'administration pour gérer l' accès aux pages / nœuds . Une fois activé, il existe trois configurations possibles:
- Core - Drupal core gèrera l'accès aux pages de nœuds comme d'habitude: tous les utilisateurs avec l'autorisation 'access content'
- Désactivé - Personne ne pourra accéder à / node. Il renverra «Page non trouvée» (404).
- Par autorisation - L'accès sera géré par une nouvelle autorisation: «accéder à la page du nœud»
Désactivation de la page du nœud (D6 ou D7, mais uniquement pour les versions rc2):
Permet un accès facile à l'interface utilisateur et la désactivation du chemin / nœud lorsqu'il n'est pas utilisé. Cela a été inspiré par une considération de sécurité dans le module de contrôle de production .
la meilleure façon est de cacher les nœuds de la fonction template_preprocess_page
function template_preprocess_page(&$variables) {
if ($variables['is_front'] == 1) {
if (isset($variables['page']['content']['system_main'])) {
unset($variables['page']['content']['system_main']);
}
}
}