CakePHP,是否可以在url前面使用记录id
我需要在url中为我的所有页面设置一个记录id。例如,如果用户不提供id,则站点应始终使用1000作为默认值,例如http://www.demosite.com/1000 如果用户导航到http://www.demosite.com/1001,我将在会话中设置记录1001详细信息,并将其显示在元素中。从这里开始,我需要所有的网址看起来像这样 http://www.demosite.com/1001/about-us http://www.demosite.com/1001/wizard/step1 http://www.demosite.com/1001/prices/view/1 我尝试了下面的路由,但我需要重定向,然后我在url中丢失了1001记录idCakePHP,是否可以在url前面使用记录id,php,.htaccess,cakephp,routes,url-redirection,Php,.htaccess,Cakephp,Routes,Url Redirection,我需要在url中为我的所有页面设置一个记录id。例如,如果用户不提供id,则站点应始终使用1000作为默认值,例如http://www.demosite.com/1000 如果用户导航到http://www.demosite.com/1001,我将在会话中设置记录1001详细信息,并将其显示在元素中。从这里开始,我需要所有的网址看起来像这样 http://www.demosite.com/1001/about-us http://www.demosite.com/1001/wizard/step
Router::connect('/:id', array('controller' => 'distributors', 'action' => 'session'), array('id' => '[0-9]+'));
Router::connect('/:id/**', array('controller' => 'distributors', 'action' => 'session'), array('id' => '[0-9]+'));
有人能帮我吗?你把它弄得有点复杂,你只需要在controller中的方法中传递它,然后在那里定义1000个默认值和其他参数
function index($id=1000){
}
当您将新id传递给将覆盖新id的方法时
除此之外,您还可以使用htaccess处理其他url位置
像
重新启动发动机
重写规则^([0-9]{6})$scriptname.php?否=$1[L]
您可以从获得帮助,您想要实现与本地化功能相同的caekphp??是的,但具有随机记录id。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^([0-9]{6})$ scriptname.php?no=$1 [L]
</IfModule>