php - Magento 1.9 url_rewrite 它不适用于查询字符串
问题描述
我正在尝试输入 url_rewrite 条目,但我在获取源 url 的参数时遇到问题,就好像应用程序不会考虑它们一样。
问题仅在具有参数的 url 中,在这种情况下与“?mId=162”:“pequeno-electrodomestico/climatizacion/ventiladores/-c-204_267_388.html?mId=162”类似
该代码可以工作并记录条目,但只有当我从管理员输入该注册表并保存而不更改任何内容时才会正确重定向。如果不这样做,则保存不会重定向。
我已经这样做了:
$_urlrewrite = Mage::getModel('core/url_rewrite');
$_urlrewrite->setIsSystem(1);
$_urlrewrite->setIdPath('OSC_URL-category_' . $_category->getId() . '_mId=' . $osc_path[8]);
$_urlrewrite->setRequestPath("pequeno-electrodomestico/climatizacion/ventiladores/-c-204_267_388.html?mId=162");
$_urlrewrite->setTargetPath("peque-o-electrodomestico/frio-y-calor/ventiladores/s_p");
$_urlrewrite->setOptions('RP');
$_urlrewrite->save();
所以它应该可以工作但不会重定向。
save()之后还需要做别的吗?
解决方案
你可以试试这个方法
Mage::getModel('core/url_rewrite')
->setIsSystem(0)
->setOptions('RP')
->setIdPath('OSC_URL-category_' . $_category->getId() . '_mId=' . $osc_path[8])
->setTargetPath('peque-o-electrodomestico/frio-y-calor/ventiladores/s_p')
->setRequestPath('pequeno-electrodomestico/climatizacion/ventiladores/-c-204_267_388.html?mId=162')
->save();
推荐阅读
- for-loop - 何时在 for 循环中使用引用?
- .net - NGINX 下的站点配置:提供静态文件和 .NET 文件
- linux - 删除目录中与文本列表不匹配的文件和文件夹
- powershell - 在不继承变量和范围的情况下从另一个运行一个 PowerShell 脚本
- python - 如果列在列表中包含字符串,则添加包含列表值的列
- android - 将数据传递给
使用数据绑定布局 - python - RNN模型训练后如何预测以下值?
- java - 如何为 6 英寸 xxhdpi 和 xxxhdpi 设备设置特定布局
- android - .PNG drawable 的 Resources$NotFoundException
- java - 如何从文件中加载图像