2
我有一个控制器:如何在CakePHP中使用正斜杠传递参数?
<?php
App::uses('AppController', 'Controller');
/**
* FundingYears Controller
*
*/
class FundingYearsController extends AppController {
/**
* Scaffold
*
* @var mixed
*/
public $scaffold;
}
当尝试通过URL传递参数(主键),因为它有一个“/”在里面,它弹一下:
http://localhost/funding_years/view/12%2F13
有什么方法可以使用路线来逃避这个吗?
看到这个帖子? http://stackoverflow.com/questions/15529872/cakephp-allow-forward-slash-as-named-parameter-value – arilia
只使用a-z0-9-_等URL部分。您应该使用查询字符串来查找所有需要通过url传递的非ascii字符的参数。特别是如果他们包含特殊URL的字符,如斜杠。这些会自动正确编码和解码。参见[details](http://www.dereuromark.de/2013/05/04/passed-named-or-query-string-params/)。你也可以在这里使用传递参数缓慢地使用你想要的东西 - 这样一个slug可以通过行为自动创建。 – mark
Router :: connect('/ funding_years/view/**',array('controller'=>'funding_years','action'=>'view'));无法正常工作:http:// localhost/funding_years/view/12%2F1312%2F13。使用CakePHP v2.4.5 – Jenski