Menggunakan modul Aturan Anda dapat menerapkan aturan yang terlihat mirip dengan ini:
{ "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" } }
]
}
}
Siapa pun yang mencoba mengakses jalur relatif content/video-1
akan diarahkan ke halaman dengan jalur no_access
, dan pesan kesalahan terkait akan ditampilkan (sesuaikan jalur ini agar sesuai dengan konvensi Anda sendiri, dan tinjau pesan yang akan ditampilkan).
Aturan di atas hanya membatasi akses ke jalur relatif content/video-1
(seperti dalam pertanyaan Anda). Jika Anda ingin memperluas aturan ke URL serupa, ubah content\/video-1
ke sesuatu seperti content\/video-\\d+$
, atau variasi apa pun yang cocok dengan konvensi penamaan jalur Anda.
Aturan di atas tidak (belum) memperhitungkan untuk hanya menerapkan Tindakan Aturan untuk pengguna dengan peran yang dipilih saja. Tetapi bagi siapa pun yang sedikit terbiasa dengan modul Aturan, itu adalah "Syarat" untuk menambahkan ... misalnya: lewati tindakan aturan untuk pengguna dengan peran seperti editor, administrator, dll. Yang dapat Anda lakukan dengan menambahkan Aturan Kondisi seperti "pengguna TIDAK memiliki administrator peran (dan / atau editor)". Dengan begitu, pengguna khusus semacam itu tetap dapat melihat simpul tersebut (tanpa syarat tambahan mereka juga tidak dapat melihat simpul seperti itu lagi ...).
Untuk bereksperimen dengan aturan ini di situs Anda sendiri, cukup salin seluruh kode Aturan di atas, dan rekatkan dalam Aturan baru di situs Anda sendiri, dibuat melalui fungsi "Impor" (tersedia jika UI Aturan diaktifkan). Kemudian edit / sempurnakan lebih lanjut agar sesuai dengan lingkungan Anda sendiri (mis. Pesan "Maaf, ..." yang akan ditampilkan).
Perbaikan tambahan
Di salah satu jawaban lain Anda menambahkan komentar yang mencakup ini:
... Saya ingin mengalihkan ke halaman utama dalam beberapa kasus, 404 dalam kasus lain, dll, jadi saya memiliki kontrol yang lebih baik ...
Jika itu yang juga ingin Anda lakukan, maka Anda dapat memperbaiki Tindakan Aturan di atas dengan menambahkan modul Aturan Bersyarat juga. Dengan itu, untuk setiap "beberapa kasus" Anda, Anda dapat menentukan URL yang sesuai untuk dialihkan. Lihat jawaban saya untuk " Bagaimana cara menetapkan nilai beberapa bidang tergantung pada nilai kotak daftar? " Untuk ilustrasi tentang bagaimana menggunakan modul ini dalam Tindakan Tindakan.