Nginx 重写动态Magento URL

Nginx 重写动态Magento URL,nginx,magento-1.4,Nginx,Magento 1.4,我在Nginx web服务器上安装了Magento v1.4.1.1。我正在尝试重写以下动态URL: #5028 is the dynamic id passed in the URL $baseUrl/design/index/index/design_id/5028 致: 我使用了Magento的“URL重写管理”来重写静态URL,没有问题。但似乎我不能使用动态参数 我还尝试在我的服务器{}位置内对Nginx配置执行以下操作 rewrite ^/my/designs/([0-9]+)$ /

我在Nginx web服务器上安装了Magento v1.4.1.1。我正在尝试重写以下动态URL:

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

我使用了Magento的“URL重写管理”来重写静态URL,没有问题。但似乎我不能使用动态参数

我还尝试在我的
服务器{}
位置内对Nginx配置执行以下操作

rewrite ^/my/designs/([0-9]+)$ /design/index/index/design_id/$1 last;
但是它没有被捕获,如果我尝试访问
http://mysite.com/my/design/5028

这条规则旁边的另一条规则非常有效

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

是的,Magento的“URL重写管理”不支持动态链接,抱歉

您可以通过编程方式根据
design\u id
向其添加静态重写,不过:

$iStoreId=1;
$sOptions='RP';/'RP'表示301,R'表示302
$aDesignId=array(50265275028);
foreach($adesigned为$idesigned){
Mage::getModel('core/url\u rewrite')
->setStoreId($iStoreId)
->setCategoryId(空)
->setProductId(空)
->setIdPath(str_replace('0'),'',str_replace('','',microtime()))
->setRequestPath('design/index/index/design_id/'。$iDesignId)
->setTargetPath('my/design/'.$iDesignId)
->setIsSystem(0)
->设置选项($sOptions)
->save();
}

感谢您的回复。我必须在哪里添加此代码?我现在关心的是,我有5k+设计,然后我需要创建5k+静态重写??你知道有没有办法用正则表达式注册路由,我知道我所有的设计id都是整数。虽然每次加载页面时我都在注册路由,但现在我看到我正在将它保存在
core\u url\u rewrite
Mage::getModel('core/url\u rewrite')
上,谢谢,效果很好!所以解决方案是注册我现有的设计一次,然后为我创建的每个新设计添加一个新的静态重写。
rewrite ^(/fb)/design/([0-9]+)$ $1/landing_no_contest.php?design_id=$2? last;