नियम मॉड्यूल का उपयोग करके आप एक नियम लागू कर सकते हैं जो इस तरह दिखता है:
{ "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" } }
]
}
}
संबंधित पथ पर पहुंचने का प्रयास करने वाला कोई भी व्यक्ति पथ के content/video-1
साथ एक पृष्ठ पर पुनर्निर्देशित हो जाएगा no_access
, और संबंधित त्रुटि संदेश दिखाया जाएगा (अपने स्वयं के सम्मेलनों को फिट करने के लिए इस पथ को अनुकूलित करें, और दिखाए जाने वाले संदेश की समीक्षा करें)।
उपरोक्त नियम केवल सापेक्ष पथ content/video-1
(आपके प्रश्न के अनुसार) तक पहुंच को प्रतिबंधित करता है । यदि आप नियम को समान URL में विस्तारित करना चाहते content\/video-1
हैं content\/video-\\d+$
, तो किसी चीज़ में परिवर्तन करें , या कोई भी भिन्नता जो आपके रास्तों के नामकरण सम्मेलन में फिट बैठता है।
उपरोक्त नियम (अभी तक) केवल चयनित भूमिकाओं वाले उपयोगकर्ताओं के लिए नियम कार्रवाई लागू करने के लिए ध्यान में नहीं रखते हैं। लेकिन नियम मॉड्यूल से परिचित किसी के लिए, यह जोड़ने के लिए एक सीधा आगे "शर्त" है ... उदाहरण के लिए: संपादक, व्यवस्थापक, आदि जैसी भूमिका वाले उपयोगकर्ताओं के लिए नियम कार्रवाई को छोड़ दें, जिसे आप एक नियम जोड़कर कर सकते हैं। "उपयोगकर्ता के पास भूमिका व्यवस्थापक (और / या संपादक) नहीं है" जैसी स्थिति है। इस तरह के विशेष प्रकार के उपयोगकर्ता अभी भी ऐसे नोड्स देख सकते हैं (ऐसी अतिरिक्त स्थिति के बिना वे भी अब ऐसे नोड्स नहीं देख सकते हैं ...)।
अपनी खुद की साइट में इस नियम के साथ प्रयोग करने के लिए, बस ऊपर दिए गए पूरे नियम कोड को कॉपी करें, और इसे "आयात" फ़ंक्शन (यदि नियम UI सक्षम हो तो उपलब्ध) के माध्यम से अपनी साइट में एक नए नियम में पेस्ट करें। फिर इसे अपने वातावरण में फिट करने के लिए संपादित / परिशोधित करें (उदाहरण के लिए "क्षमा करें, ..." संदेश दिखाया जाना चाहिए)।
अतिरिक्त शोधन
अन्य उत्तरों में से एक में आपने एक टिप्पणी जोड़ी है जिसमें यह शामिल है:
... मैं कुछ मामलों में होम पेज को पुनर्निर्देशित करना चाहता था, अन्य में 404, आदि, इसलिए मेरा बेहतर नियंत्रण था ...
यदि आप भी यही करना चाहते हैं, तो आप सशर्त नियम मॉड्यूल को भी जोड़कर उपरोक्त नियम क्रिया को और परिष्कृत कर सकते हैं। उसके बाद, आपके प्रत्येक "कुछ मामलों" के लिए आप फिर से रीडायरेक्ट करने के लिए उपयुक्त URL निर्दिष्ट कर सकते हैं। एक नियम एक्शन के भीतर इस मॉड्यूल का उपयोग कैसे करें, इसके उदाहरण के लिए " किसी सूची बॉक्स के मूल्य के आधार पर कुछ क्षेत्रों के मूल्यों को कैसे निर्धारित करें? " के मेरे उत्तर का संदर्भ लें ।