我正在尝试在我的cakephp应用程序中使用下拉输入,我希望下拉提交以呈现这样的URL:
www.example.com/cake/FILE/VALUE
但是,我可以获得要创建的选择输入的唯一网址如下:
www.example.com/cake/FILE?form_value=VALUE
如何在不使用httaccess的情况下像第一个示例那样使URL SEO变得友好,因为我希望URL在搜索引擎眼中看起来很友好。
这是我正在使用的代码。
在视图中
echo $form->input('form_value', array(
'label' => '',
'type' => 'select',
'options' => $listOfOptions,
'selected' => '0',));
谢谢。
答案 0 :(得分:0)
在您的控制器中,通过$file = $this->data['FILE']['form_value']
获取“form_value”的值并执行重定向$this->redirect(array('action' => 'download', $file))
。
然后创建一个名为download的函数,它应如下所示:
<?php
function download($file = null) {
if ($file != null) {
/*make download*/
} else {
$this->Session->setFlash('no file specified')
}
?>
如果您不希望动作“下载”出现在URL中,您可以在cakephp / app / config / routes.php中使用Cakes内置路由。
通过这样的方法,您可以将index-action映射到download-action: Router :: connect('/ FILE / *',array('controller'=&gt;'files','action'=&gt;'download')); 有关更好的说明,请参阅http://book.cakephp.org/view/46/Routes-Configuration。