Zend framework Zend_表单过滤器重写或路由-我想要一个可读的URL

Zend framework Zend_表单过滤器重写或路由-我想要一个可读的URL,zend-framework,zend-form,Zend Framework,Zend Form,我有一个使用Zend_表单创建的表单,我想为提交设置一个路由,这样用户就不会看到他的URL更改或看到URL更改为复杂的GET字符串,而是会更改以反映过滤器 坏的: /产品 坏的: /产品?颜色=白色,尺寸=大 好: /产品/白色/大型 好: /产品/颜色/白色/尺码/大号 有什么方法可以做到这一点吗?不要直接通过Zend_表单,因为Zend_表单最后会绘制一个HTML表单,浏览器会将其以URL表单编码发送出去 您需要做的是通过Javascript捕获提交事件,手动创建所需的URL,并使用wind

我有一个使用Zend_表单创建的表单,我想为提交设置一个路由,这样用户就不会看到他的URL更改或看到URL更改为复杂的GET字符串,而是会更改以反映过滤器

坏的: /产品

坏的: /产品?颜色=白色,尺寸=大

好: /产品/白色/大型

好: /产品/颜色/白色/尺码/大号


有什么方法可以做到这一点吗?

不要直接通过Zend_表单,因为Zend_表单最后会绘制一个HTML表单,浏览器会将其以URL表单编码发送出去


您需要做的是通过Javascript捕获提交事件,手动创建所需的URL,并使用window.location传输表单。

如果在用户浏览器中禁用Javascript,请不要忘记故障切换到“坏”模式。在这种情况下,它将作为URL编码的参数提交,Zend可以很好地处理这些问题。请注意,
/products/color/white/size/large
/products/size/large/color/white/
的对比会让google大发雷霆,因为它的内容是重复的(与不这样做的参数相反)