अपाचे डॉक्स कस्टम error.html पृष्ठों
कहते हैं "REDIRECT_ वातावरण चर वातावरण चर जो रीडायरेक्ट करने से पहले ही अस्तित्व में से बनाई गई हैं निपटने त्रुटि के लिए पारित कर दिया वातावरण चर को शामिल किया गया। वे साथ नाम दिया जाता है एक RedIRECT_ उपसर्ग, यानी, HTTP_USER_AGENT
REDIRECT_HTTP_USER_AGENT
बन जाता है। "
कहते हैं, "इनमें से कोई भी सेट नहीं किया जाएगा यदि त्रुटि दस्तावेज़ लक्ष्य बाहरी रीडायरेक्ट (http: जैसे योजना नाम से शुरू हो रहा है, भले ही यह सर्वर के समान होस्ट को संदर्भित करता हो)।"
SetEnv के बारे में कहते हैं: "इस निर्देश द्वारा सेट किए गए आंतरिक पर्यावरण चर सेट प्रारंभिक अनुरोध प्रसंस्करण निर्देशों के बाद सेट किए जाते हैं, जैसे एक्सेस कंट्रोल और यूआरआई-टू-फाइलनाम मैपिंग। यदि पर्यावरण परिवर्तक आप सेटिंग कर रहे हैं रीवाइट्रूल निर्देश जैसे प्रसंस्करण के प्रारंभिक चरण में इनपुट के रूप में, आपको इसके बजाय पर्यावरण चर को SetEnvIf के साथ सेट करना चाहिए। " SetEnv HTTP_MY_VARIABLE "my value"
सेट और सर्वर वातावरण चर का उपयोग कर के कुछ .htaccess तरीके हैं, मेरी खराब होने को संशोधित करने से लिया:
कुछ सर्वर पर, उपयोगकर्ता के घोषित वातावरण चर सुरक्षा उद्देश्यों, उदाहरण के लिए 'HTTP_' से होना चाहिए
SetEnv myServerName %{SERVER_NAME}
RewriteCond %{QUERY_STRING} (base64_encode|localhost|mosconfig|open_basedir) [NC,OR]
RewriteCond %{QUERY_STRING} (boot\.ini|echo.*kae|etc/passwd) [NC,OR]
RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|\[|%) [NC]
RewriteRule .* - [E=badQueryString:%0--%1--%2,F,L]
SetEnvIfNoCase User-Agent ^$ noUserAgent
SetEnvIfNoCase User-Agent (binlar|casper|cmsworldmap|comodo|diavol|dotbot|feedfinder|flicky|ia_archiver|jakarta|kmccrew|nutch|planetwork|purebot|pycurl|skygrid|sucker|turnit|vikspider|zmeu) badUserAgent=$1
<limit GET POST PUT>
Order Allow,Deny
Allow from all
Deny from env=badUserAgent
</limit>
सूचना पैरामीटर का उपयोग करते हैं, उदाहरण के लिए: प्रेस 5G ब्लैकलिस्ट/फ़ायरवॉल http://perishablepress.com/5g-blacklist-2013/ वातावरण चर रिपोर्टिंग का उपयोग करने के लिए $ 0 -% 1 -% 2। % 0 पूर्ण स्ट्रिंग देता है,% 1 पहले कोष्ठकित कथन से मिलान देता है,% 2 2। हाइफ़न अक्षरमान डिस्प्ले वर्ण हैं, जो पैरामीटर परिणामों को दृष्टि से अलग करते हैं (ऐसा नहीं लगता कि वहां रिक्त स्थान डालने का कोई तरीका है)।
यहाँ (403.php और 404.php से मेरे मामले में) वातावरण चर तक पहुँचने के कुछ पीएचपी तरीके हैं। ध्यान दें कि आप phpinfo() में देखने के लिए नहीं है, लेकिन $ सर्वर में, और कहा कि अपने चर एक 403/404 रीडायरेक्ट साथ भी ध्यान रखें कि अनुप्रेषित लगी होती हो, QUERY_STRING REDIRECT_QUERY_STRING यह सामान है कि आसानी से कर सकता है हो जाता है सर्वर निर्भर हो, इसलिए अपने वास्तविक मूल्यों के लिए $ _SERVER की जांच करें।उदाहरण के लिए,
if (getenv("HTTP_REFERER") !== FALSE) {
$httpref = getenv("HTTP_REFERER");
} else {
$httpref = '';
}
if (isset($_SERVER['REDIRECT_STATUS'])) {
$status = $_SERVER['REDIRECT_STATUS'];
} else {
$status = '';
}
if (isset($_SERVER['REMOTE_HOST'])) {
$remoteHost = $_SERVER['REMOTE_HOST'];
} else {
$remoteHost = '';
}
if (isset($_SERVER['REDIRECT_QUERY_STRING'])) {
$querystring = $_SERVER['REDIRECT_QUERY_STRING'];
} else {
$querystring = '';
}
if (isset($_SERVER['REDIRECT_noUserAgent'])) {
$htaccessErrors[] = 'NoUserAgent';
}
if (getenv("REDIRECT_badQueryString") !== FALSE) {
/* must exactly match what shows up in $_SERVER, is case sensitive (e.g. badQueryString not BadQueryString) */
$htaccessErrors[] = 'badQueryString:'.getenv("REDIRECT_badQueryString");
}
मैं http://lcblog.lernerconsult.com/2013-server-alert-you-file-not-found-errors/
में कुछ गहराई में कवर क्या आप वाकई htaccess फ़ाइलों को विशिष्ट निर्देशिका के लिए सक्षम हैं कर रहे हैं? एक और निर्देश आज़माएं जिसका प्रभाव आसानी से सत्यापित किया जा सके। – goat
क्या यह अन्य SO प्रश्न आपकी मदद करेगा? http://stackoverflow.com/questions/3780866/why-is-my-env-empty – luchosrock