How to specify a Rules event like "Content is 'going to be' viewed"?
You should react to the System > Drupal is initializing event and check for the URL there:

{ "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, URLs like [site:current-page:url] are not allowed around here ...",
          "type" : "error"
        }
      },
      { "redirect" : { "url" : "no_access" } }
    ]
  }
}


Also, notice that in the rule above we test against the site:current-page:url token, which contains the (full) original URL (as seen in the browser address bar). Checking against site:current-page:path would not work in this case as all nodes, even the ones being accessed via URL alias, would match.