Usando el módulo Reglas puede implementar una regla similar a esta:
{ "rules_check_url" : {
"LABEL" : "Disallow node/* access",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules" ],
"ON" : { "init" : [] },
"IF" : [
{ "text_matches" : {
"text" : [ "site:current-page:url" ],
"match" : "node\/\\d+$",
"operation" : "regex"
}
}
],
"DO" : [
{ "drupal_message" : {
"message" : "Sorry, direct access to URLs like [site:current-page:url] is not allowed around here ...",
"type" : "error"
}
},
{ "redirect" : { "url" : "no_access" } }
]
}
}
La regla anterior no tiene en cuenta (todavía) para aplicar solo la "acción" solo para roles seleccionados (por ejemplo, para que los administradores puedan seguir utilizando estas rutas para ver un nodo). Pero para cualquiera que esté un poco familiarizado con el módulo Reglas, esa es una "Condición" directa para agregar ...
Para experimentar con esta regla en su propio sitio, simplemente copie todo el código de Reglas anterior y péguelo en una nueva Regla en su propio sitio, creada mediante la función "Importar". Luego edite / refine más para que se ajuste a su propio entorno (por ejemplo, se mostrará el mensaje "Lo siento, ...").