0

NginxWebサーバーにMagentov1.4.1.1をインストールしています。次の動的URLを書き直そうとしています。

#5028 is the dynamic id passed in the URL
$baseUrl/design/index/index/design_id/5028

に:

$baseUrl/my/design/5028

Magentoの「URLRewriteManagement」を使用して、静的URLを問題なく書き換えました。しかし、動的パラメータを使用できないようです。

私はまた、私のserver{}場所内のNginx構成で次のことを試みました

rewrite ^/my/designs/([0-9]+)$ /design/index/index/design_id/$1 last;

しかし、それはキャッチされていません、私がアクセスしようとすると404エラーが発生し続けますhttp://mysite.com/my/design/5028

これのすぐ隣にある別のルールは完全に機能します

rewrite ^(/fb)/design/([0-9]+)$ $1/landing_no_contest.php?design_id=$2? last;

助けてくれてありがとう。

4

1 に答える 1

2

はい、Magentoの「URL書き換え管理」は動的リンクをサポートしていませ、afaik。

design_idただし、プログラムごとに静的な書き換えを追加することはできます。

$iStoreId = 1;
$sOptions = 'RP'; // 'RP' for a 301, or 'R' for a 302
$aDesignId = array(5026, 5027, 5028);

foreach ($aDesignId as $iDesignId) {
    Mage::getModel('core/url_rewrite')
        ->setStoreId($iStoreId)
        ->setCategoryId(null)
        ->setProductId(null)
        ->setIdPath(str_replace('0.', '', str_replace(' ', '_', microtime())))
        ->setRequestPath('design/index/index/design_id/' . $iDesignId)
        ->setTargetPath('my/design/' . $iDesignId)
        ->setIsSystem(0)
        ->setOptions($sOptions)
        ->save();
}
于 2012-08-14T23:45:05.610 に答える