我有Nginx的网络服务器上的Magento v1.4.1.1安装。 我试图改写以下动态网址:
#5028 is the dynamic id passed in the URL
$baseUrl/design/index/index/design_id/5028
至:
$baseUrl/my/design/5028
我已经使用了Magento的“URL重写管理”重写静态URL,不会有问题。 但似乎我不能使用动态参数。
我也试着做Nginx的配置下面我里面server{}
位置
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;
谢谢你的帮助。
是的,Magento的“URL重写枭雄” 不支持动态链接,据我所知。
您可以以编程每添加静态重写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();
}