नहीं है, मैंने इस प्रश्न के उत्तर के लिए Google और StackOverflow पर चारों ओर देखा है, लेकिन तथ्य यह है कि मुझे .htaccess के बारे में बहुत कुछ पता नहीं है, यह तय करने में मेरी सहायता नहीं करता कि सही उत्तर क्या हैं मेरी स्थिति के लिए, इसलिए मैं यहां पूछ रहा हूं।.htaccess रीवाइटकॉन्ड जहां यूआरआई में डोमेन
मेरी स्थिति यह है कि मेरे पास ऐसी कई साइटें हैं जो सर्वर पर रूट के समान भौतिक निर्देशिका का उपयोग कर रही हैं।
यह सब ठीक काम कर रहा है लेकिन मैं यह सुनिश्चित करना चाहता था कि प्रत्येक साइट ब्राउज़र से एक-दूसरे की छवियों आदि तक पहुंच न सके, जब तक वे सही डोमेन पर न हों।
/resources/{resource}/{full_domain_name}
इसलिए उदाहरण www.domain.co.uk
के लिए इस तरह की एक संरचना के लिए होता है:
वर्तमान में मैं इस तरह की एक फ़ाइल संरचना है
http://www.domain.co.uk/resources/images/www.domain.co.uk/some_image.jpg
लेकिन www.domain_2.co.uk
साइट के लिए एक ही भौतिक निर्देशिका का उपयोग करता है, तो मौजूद है रूट तो वे अन्य डोमेन के संसाधनों को अपने डोमेन से देख सकते हैं, जैसे:
http://www.domain_2.co.uk/resources/images/www.domain.co.uk/some_image.jpg
यह वास्तव में एक बड़ी समस्या नहीं है क्योंकि इन निर्देशिकाओं में पूरी तरह से कोई संवेदनशील जानकारी संग्रहीत नहीं है, लेकिन यह अधिक परेशानी है और मैं इसके बजाय उपयोगकर्ता इसे करने में सक्षम नहीं था (ऐसा नहीं कि वास्तव में कोई भी अब तक है)।
मैं/संसाधन निर्देशिका में एक .htaccess फ़ाइल डाल करने की कोशिश की, लेकिन मैं नियमित अभिव्यक्ति आदि के साथ अटक कर रहा हूँ
मैं मूल रूप से यह सुनिश्चित करें कि यूआरआई वर्तमान डोमेन नाम अन्यथा एक 403 को रीडायरेक्ट करते हैं बनाना चाहते त्रुटि पृष्ठ
RewriteCond %{REQUEST_URI} !^(/resources/[^/]*/%{HTTP_HOST})(.*)$
RewriteRule ^(.*)$ /error/403.php
कारण मैं डाल में [^/]
सा है, क्योंकि उदाहरण के लिए कई फ़ोल्डर हैं,:
/resources/images/{full_domain_name}
/resources/scripts/{full_domain_name}
/resources/stylesheets/{full_domain_name}
किसी को भी इन के साथ मेरी मदद कर सके
यह है कि मैं क्या लेकर आए हैं शर्तेँ?
किसी भी मदद की सराहना की जाएगी।
आपके वर्तमान नियम का नतीजा क्या है? ऐसा लगता है कि यह काम करेगा, सिवाय इसके कि आपको किसी भी '()' आसपास '/ संसाधन/[^ /] * /% {HTTP_HOST} की आवश्यकता नहीं है। *' –
@ माइकल वर्तमान में यदि मैं www.domain.co पर हूं .uk और www.domain.co.uk/resources/stylesheets/www.domain.co.uk/style.css पर जाएं उदाहरण के लिए यह हमेशा मुझे /error/403.php फ़ाइल पर रीडायरेक्ट करता है। जब मैं .htaccess नियम को हटा देता हूं तो यह फ़ाइल को पाता है क्योंकि इसे सामान्य रूप से करना चाहिए। –
आपको वास्तव में regex में प्रतिनिधित्व किए गए पूरे '% {REQUEST_URI} 'की आवश्यकता नहीं है। आप http_host 'रीवाइटकॉन्ड% {REQUEST_URI} से मेल खा सकते हैं!^+% {HTTP_HOST}' –