回答:
Magento.StackExchangeへようこそ!
残念ながら、これを行うためのすぐに使用できるモジュールはありません。
これをオプションとして再考することを強くお勧めします。ユーザーは愚かではありません(どんなに愚かな振る舞いでも)-長年のeコマース分析により、ほぼ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>
app / code / local / YourCompany / YourModule / Model / 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() */);
}
}
}