Sử dụng mô-đun Quy tắc, bạn có thể thực hiện quy tắc tương tự như sau:
{ "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" } }
]
}
}
Bất kỳ ai đang cố gắng truy cập đường dẫn tương đối content/video-1
sẽ được chuyển hướng đến một trang có đường dẫn no_access
và thông báo lỗi liên quan sẽ được hiển thị (điều chỉnh đường dẫn này để phù hợp với quy ước của riêng bạn và xem lại thông báo sẽ được hiển thị).
Quy tắc trên chỉ giới hạn quyền truy cập vào đường dẫn tương đối content/video-1
(như trong câu hỏi của bạn). Nếu bạn muốn mở rộng quy tắc thành các URL tương tự, hãy thay đổi content\/video-1
thành một cái gì đó như content\/video-\\d+$
hoặc bất kỳ biến thể nào phù hợp với quy ước đặt tên cho các đường dẫn của bạn.
Quy tắc trên chưa (chưa) tính đến việc chỉ áp dụng Quy tắc hành động cho người dùng chỉ với các vai trò được chọn. Nhưng đối với bất kỳ ai quen thuộc với mô-đun Quy tắc, đó là "Điều kiện" đơn giản để thêm ... ví dụ: bỏ qua hành động quy tắc cho người dùng có vai trò như biên tập viên, quản trị viên, v.v. Bạn có thể làm gì bằng cách thêm Quy tắc Điều kiện như "người dùng KHÔNG có quản trị viên vai trò (và / hoặc biên tập viên)". Bằng cách đó, những loại người dùng đặc biệt đó vẫn có thể xem các nút như vậy (không có điều kiện bổ sung như vậy, họ cũng không thể xem các nút như vậy nữa ...).
Để thử nghiệm quy tắc này trong trang web của riêng bạn, chỉ cần sao chép toàn bộ mã Quy tắc ở trên và dán quy tắc mới vào trang web của riêng bạn, được tạo thông qua chức năng "Nhập" (khả dụng nếu UI UI được bật). Sau đó chỉnh sửa / tinh chỉnh thêm để làm cho nó phù hợp với môi trường của chính bạn (ví dụ: thông báo "Xin lỗi, ..." sẽ được hiển thị).
Sàng lọc bổ sung
Trong một trong những câu trả lời khác, bạn đã thêm một nhận xét bao gồm:
... Tôi muốn chuyển hướng đến trang chủ trong một số trường hợp, 404 trong những trường hợp khác, v.v., vì vậy tôi đã kiểm soát tốt hơn ...
Nếu đó là điều bạn cũng muốn làm, thì bạn có thể tinh chỉnh thêm Hành động quy tắc trên bằng cách thêm mô-đun Quy tắc có điều kiện . Với điều đó, với mỗi "một số trường hợp" của bạn, sau đó bạn có thể chỉ định URL thích hợp để chuyển hướng đến. Tham khảo câu trả lời của tôi về " Cách đặt giá trị của một số trường tùy thuộc vào giá trị của hộp danh sách? " Để biết minh họa về cách sử dụng mô-đun này trong Hành động quy tắc.