伪静态url的设置问题,求助J大大大。不知道能不能实现

#1 沁枫

现有url格式如下:http://www.krdg24.com/index.php?c=goods_p&a=show&id=1258212&conun&country_code=hk&desc=气质淑女-露肩饰蕾丝雪纺连衣裙-裸粉-均码


最终需求url如下(参数按照上面的来)
http://www.krdg24.com/hk/气质淑女-露肩饰蕾丝雪纺连衣裙-裸粉-均码/info.html/id.1258212

上面的控制器名称和动作名称,都不要显示出来参数按照需求格式来生成,有没有好的思路指教下。




2015-07-09 12:00:09

#2 jake

首先是看手册http://www.speedphp.com/thread-3732-1-1.html

然后


http://www.krdg24.com/index.php?c=goods_p&a=show&id=1258212&conun&country_code=hk&desc=文字说明


http://www.krdg24.com/hk/文字说明/info.html/id.1258212

大概的做法是这样:

sep是/(斜杠分隔)

map上面

hk => goods_p/show

args是

hk => array("文字说明的参数", "info.html的参数", "id")

当然,在接收到后两个参数的时候,因为加了东西(像id.1258212),所以要在参数上面先str_replace掉无关的东西(比如说id.1258212转成1258212)

然后就OK了,其他如果还有参数,也是在arg里面设置就行。

2015-07-09 12:50:08

#3 沁枫

好了,我先试试

2015-07-09 13:38:23

#4 沁枫

沁枫 发表于 2015-7-9 13:38
好了,我先试试
我现在在本地做成了这样的一个url格式出来 :'ext' => array(
                'spUrlRewrite' => array(
                        'suffix' => '/info.html',
                        'sep' => '/',
                        'map' => array(
                                'url_fix' => 'goods_p@show',
                        ),
                        'args' => array(
                                'url_fix' => array("country_code",'desc','id')
                        )
                )
        ),

这个规则生成如下的url http://127.0.0.4/url_fix/hk/圆领t恤/14277/info.html
原生格式是这样的:http://127.0.0.4/index.php?c=goods_p&a=show&country_code=hk&desc=圆领t恤&id=14277
我想把url中 url_fix这个去掉 生成这样的 http://127.0.0.4/hk/圆领t恤/14277/info.html 可行吗?
需要修改哪里的




2015-07-09 14:19:00

#5 沁枫

帮忙看下上面的我做出来的结果,就差最后一步了

2015-07-09 14:22:55

#6 jake

     'hk' => 'goods_p@show',

2015-07-09 16:37:19