用symfony
嗨下载计数器我想知道用symfony 3用symfony
下载计数器网/的.htaccess我:
RewriteRule ^/up/(.*).(jpg|zip|pdf)$ /download/counter/$1/$2 [R,L]
在我的控制器的appbundle /控制器/ DefaultController.php我有:
/** * @Route("/download/counter/{filename}/{ext}", name="downloadcounterfile")
*/
public function downloadcounterfileAction(Request $request)
{
....
}
但功能 “downloadcounterfileAction” 从不执行
回答:
如果你想要去一个URL /up/xyz.jpg
,实际上最终在/download/counter/xyz/jpg
你可以只添加一个新的动作/端点/up/{filename}
,并解析文件名,分开扩展基名,检查它们以确保它们在三有效的扩展。
也可能有三个别名路由到/up/
路径前缀:
/** * @Route("/download/counter/{filename}/{ext}", name="downloadcounterfile")
* @Route("/up/{filename}.jpg", defaults={"ext"="jpg"})
* @Route("/up/{filename}.pdf", defaults={"ext"="pdf"})
* @Route("/up/{filename}.zip", defaults={"ext"="zip"})
*/
public function downloadcounterfileAction(Request $request, $filename, $ext)
{
echo "filename:$filename, ext:$ext\n";die;
}
鉴于上述路线块和方法,要的网址:/up/fred.zip
显示
filename:fred, ext:zip
/download/counter/fred/zip
与包含在列出的@Routes中的结果相同。
虽然如果在文件名中有一个完整的停止位置将会失败 - No route found for "GET /up/fr.ed.zip"
。
以上是 用symfony 的全部内容, 来源链接: utcz.com/qa/257114.html