Magento.StackExchange में आपका स्वागत है!
दुर्भाग्य से, कोई आउट-ऑफ-द-बॉक्स मॉड्यूल नहीं है जो आपके लिए ऐसा करेगा।
मैं आपको एक विकल्प के रूप में इस पर पुनर्विचार करने के लिए प्रोत्साहित करूँगा। आपके उपयोगकर्ता बेवकूफ नहीं हैं (कोई फर्क नहीं पड़ता कि वे कितना मूर्खतापूर्ण व्यवहार करते हैं) - कई, कई वर्षों के ईकामर्स विश्लेषण ने मुझे दिखाया है कि, लगभग 80% समय, 404 तक पहुंचने वाले उपयोगकर्ता सेकंड के भीतर साइट-सर्च बार पर हिट करेंगे। बेहतर वर्गीकरण के साथ अपनी साइट खोज को ठीक करने में अपना प्रयास करें (पढ़ें: कीवर्ड स्टफिंग)।
Google अनुक्रमणिका हमेशा के लिए नहीं हैं। यदि आप 404 से डरते हैं, तो अपने 404 पृष्ठ को स्वयं ही ऊपर उठाने पर विचार करें। 404 मारकर असुविधा का अनुभव करने वालों को 5-10% छूट कूपन देकर अपनी रूपांतरण क्षमता बढ़ाएं। या फिर, बेहतर अभी तक, उत्पाद पृष्ठों को अक्षम न करें। बल्कि, खरीद करने की क्षमता को अक्षम करें (जैसे स्टॉक से बाहर सेट) और एक स्थिर ब्लॉक / लिंक प्रदान करें जो संबंधित पेज / श्रेणी से लिंक करता है।
मुझे परवाह नहीं है, बस मुझे कोड दें क्योंकि इंटर्नेट:
यह एक पर्यवेक्षक के साथ एक मॉड्यूल को कोड करना सबसे सरल है जो आपके लिए यह तुच्छ होगा।
Config.xml में घटना पदनाम:
<global>
<events>
<controller_action_postdispatch_catalog_product_view>
<observers>
<yourmodule_capcpv>
<class>YourCompany_YourModule_Model_Observer</class>
<method>catalogProductViewPostdispatch</method>
</yourmodule_capcpv>
</observers>
</controller_action_postdispatch_catalog_product_view>
</events>
</global>
एप्लिकेशन / कोड / स्थानीय / आपकी कंपनी / YourModule / मॉडल / Observer.php:
<?php
class YourCompany_YourModule_Model_Observer
{
public function catalogProductViewPostdispatch($observer)
{
$controller = $observer->getEvent()->getControllerAction();
$product = Mage::registry('current_product');
if($product->getStatus()!=Mage_Catalog_Model_Product_Status::STATUS_ENABLED){
$action->getResponse()->setRedirect(/* your redirect URL here with Mage::getUrl() */);
}
}
}