स्वचालित पुनर्निर्देशन को कैसे रोकें?


16

Wordpress में एक सुविधा होती है जिससे यह आपके URL को अपने आप रीडायरेक्ट कर देगा यदि यह गलत तरीके से लिखा गया है। यहाँ एक उदाहरण है: मेरे पास एक पृष्ठ है जिसे कहा जाता हैmy-page

अगर मैं जाऊं तो:

www.mysite.com/something/my-page/

यह तुरंत मुझे अनुप्रेषित करेगा

www.mysite.com/my-page/

जैसा कि पहले URL में कुछ भी मौजूद नहीं है।

मैं इस सुविधा को कैसे बंद कर सकता हूं, और इसके बजाय सिर्फ 404 प्राप्त करें यदि गलत URL टाइप किया गया हो?


यदि आप देखते हैं कि क्या हो रहा है (HttpFox या WireShark या एक समान पैकेट स्निफर के माध्यम से), तो वे पृष्ठ 301 स्थिति के साथ पुनर्निर्देशित हो जाते हैं - स्थायी रूप से स्थानांतरित - जो उचित व्यवहार है। यह खोज इंजन को अपने डेटाबेस को अन्य चीजों के बीच अद्यतित रखने में मदद करता है, और रीडायरेक्ट से उपयोगकर्ताओं को पेज खोजने में मदद मिलती है। यह तब प्रभावी हो सकता है कि जब आप किसी पृष्ठ को स्थानांतरित करते हैं या एक पर्मलिंक को बदलते हैं, तो वर्डप्रेस कैसे चीजों को संभालता है, इसलिए सावधान रहें। वैसे भी, आपकी पसंद लेकिन मुझे यकीन नहीं है कि यह एक अच्छा विचार है।
s_ha_dum 15

मुझे पता है कि यह एक अच्छी बात है, मुझे समझ में आया। हालांकि, मेरे पास एक विशेष उपयोग का मामला है जहां मुझे उस व्यवहार की आवश्यकता नहीं थी। मैं एक प्लगइन विकसित कर रहा हूं जो URL पुनर्निर्देशन को संभालता है और इसलिए मैं उस व्यवहार को ओवरराइड करना चाहता हूं।
Mazatec

यहाँ एक और सही उत्तर है: लिंक
बिनोद - गोफंडमोनिका

जवाबों:


23

यह मेरे लिए काम किया:

remove_action('template_redirect', 'redirect_canonical');

क्या आप मेरे लिए मार्गदर्शन करेंगे कि यह क्या करेगा? विहित पुनर्निर्देश क्या है? मैं वर्डप्रेस के लिए नया हूं
यतिन मिस्त्री

आपने मुझे बहुत सारे सिरदर्द से बचा लिया! धन्यवाद ! :
जेनस्की

1
क्या कहीं नहीं है जहाँ हम इन रीडायरेक्ट्स को देख सकें ताकि हम इन्हें एक-एक करके हटा सकें?
शेन जोन्स

यह भी खूब रही। क्या आप जानते हैं कि wp-adminइसका उपयोग करने के बाद भी पुनर्निर्देशन क्यों किया जा सकता है?
13

आप इस मुद्दे का विस्तृत विवरण dev4press.com/blog/wordpress/2015/…
ronnefeldt

5

जैसा कि ऐश ने सुझाव दिया था, आप निम्नलिखित कोड का उपयोग करके सुविधा को बंद कर सकते हैं:

remove_action('template_redirect', 'redirect_canonical');

Canonical.php में redirect_canonical फ़ंक्शन को देखकर, ऐसा प्रतीत होता है कि आप अपने फ़िल्टर के साथ व्यवहार को भी संशोधित कर सकते हैं।

रीडायरेक्ट_कोनॉजिकल () फ़ंक्शन के अंत में, अंतिम उत्तर को फ़िल्टर करने के लिए एक कॉल है:

$redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );

तो आप इनपुट के आधार पर, पुनर्निर्देशन को रोकने के लिए अंतिम पुनर्निर्देशन या वापसी नल को संशोधित करने के लिए अपना स्वयं का फ़िल्टर लिख सकते हैं, इस प्रकार एक विशेष URL या URL के सबसेट के लिए सुविधा को बंद कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.