Используя модуль « Правила », вы можете реализовать правило, похожее на это:
{ "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" } }
]
}
}
Приведенное выше правило (пока) не учитывает применение «действия» только для выбранных ролей (например, чтобы администраторы могли использовать эти пути для просмотра узла). Но для любого, кто немного знаком с модулем «Правила», это простое «условие», которое нужно добавить ...
Чтобы поэкспериментировать с этим правилом на своем собственном сайте, просто скопируйте весь приведенный выше код правил и вставьте его в новое правило на своем собственном сайте, созданное с помощью функции «Импорт». Затем отредактируйте / уточните, чтобы он соответствовал вашей среде (например, появится сообщение «Извините, ...»).