Mit dem Modul Regeln können Sie eine Regel implementieren, die ungefähr so aussieht:
{ "rules_disallow_accesss_to_selected_urls" : {
"LABEL" : "Disallow access to selected URLs",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules" ],
"ON" : { "init" : [] },
"IF" : [
{ "text_matches" : {
"text" : [ "site:current-page:url" ],
"match" : "content\/video-1",
"operation" : "regex"
}
}
],
"DO" : [
{ "drupal_message" : {
"message" : "Sorry, access to URLs like [site:current-page:url] is not allowed ...",
"type" : "error"
}
},
{ "redirect" : { "url" : "no_access" } }
]
}
}
Jeder, der versucht, auf den relativen Pfad zuzugreifen, content/video-1
wird auf eine Seite mit Pfad umgeleitet no_access
, und eine zugehörige Fehlermeldung wird angezeigt (passen Sie diesen Pfad an Ihre eigenen Konventionen an und überprüfen Sie die anzuzeigende Nachricht).
Die obige Regel beschränkt nur den Zugriff auf den relativen Pfad content/video-1
(wie in Ihrer Frage). Wenn Sie die Regel auf ähnliche URLs erweitern möchten, ändern Sie sie content\/video-1
in eine ähnliche content\/video-\\d+$
oder eine andere Variation, die der Namenskonvention Ihrer Pfade entspricht.
Die obige Regel berücksichtigt (noch) nicht, dass die Regelaktion nur für Benutzer mit ausgewählten Rollen angewendet wird. Für alle, die mit dem Regelmodul vertraut sind, ist dies eine einfache "Bedingung", die hinzugefügt werden muss. Beispiel: Überspringen Sie die Regelaktion für Benutzer mit einer Rolle wie Editor, Administrator usw. Sie können dies tun, indem Sie Regeln hinzufügen Bedingung wie "Benutzer hat KEINEN Rollenadministrator (und / oder Editor)". Auf diese Weise können solche speziellen Benutzer solche Knoten trotzdem anzeigen (ohne eine solche zusätzliche Bedingung können sie solche Knoten auch nicht mehr anzeigen ...).
Um mit dieser Regel auf Ihrer eigenen Site zu experimentieren, kopieren Sie einfach den gesamten obigen Regelcode und fügen Sie ihn in eine neue Regel auf Ihrer eigenen Site ein, die über die Funktion "Importieren" erstellt wurde (verfügbar, wenn die Benutzeroberfläche für Regeln aktiviert ist). Bearbeiten / verfeinern Sie es dann weiter, damit es in Ihre eigene Umgebung passt (z. B. die anzuzeigende Meldung "Entschuldigung, ...").
Zusätzliche Verfeinerung
In einer der anderen Antworten haben Sie einen Kommentar hinzugefügt, der Folgendes enthält:
... Ich wollte in einigen Fällen auf die Startseite umleiten, in anderen auf 404 usw., damit ich eine bessere Kontrolle hatte ...
Wenn Sie dies auch tun möchten, können Sie die obige Regelaktion weiter verfeinern, indem Sie auch das Modul Bedingte Regeln hinzufügen . Damit können Sie für jeden Ihrer "einige Fälle" die entsprechende URL angeben, zu der umgeleitet werden soll. In meiner Antwort auf " So legen Sie die Werte einiger Felder abhängig vom Wert eines Listenfelds fest? " Finden Sie eine Illustration zur Verwendung dieses Moduls in einer Regelaktion.