在yii中使用url管理器将url更改为seo友好型
如何将这些URL转换为SEO友好的URL我在yii中尝试了URL管理器,但没有得到正确的结果有关于URL管理器的好教程吗在yii中使用url管理器将url更改为seo友好型,yii,seo,Yii,Seo,如何将这些URL转换为SEO友好的URL我在yii中尝试了URL管理器,但没有得到正确的结果有关于URL管理器的好教程吗 http://localhost/nbnd/search/city?city=new+york http://localhost/nbnd/search/manualsearch?tosearch=Hotel+%26+Restaurants+&city=New+york&yt0=Search&searchtype= '<controller:\
http://localhost/nbnd/search/city?city=new+york
http://localhost/nbnd/search/manualsearch?tosearch=Hotel+%26+Restaurants+&city=New+york&yt0=Search&searchtype=
'<controller:\w+>/<action:\w+>/<city:\d>'=>'<controller>/<action>',
我尝试在url管理器中设置以下内容
http://localhost/nbnd/search/city?city=new+york
http://localhost/nbnd/search/manualsearch?tosearch=Hotel+%26+Restaurants+&city=New+york&yt0=Search&searchtype=
'<controller:\w+>/<action:\w+>/<city:\d>'=>'<controller>/<action>',
'/'=>'/',
它与urlhttp://localhost/nbnd/search/city/city/Delhi
我希望将此url缩减为http://localhost/nbnd/search/city/Delhi
我在视图中生成的链接是
这会将链接生成为http://localhost/nbnd/search/city?city=Delhi
如何将该链接转换为like
http://localhost/nbnd/search/city/Delhi
在Yii中,我们可以为例如创建动态URL
$url=$this->createUrl($route,$params);
$route='post/read'.
$params=array('id'=>100)
我们将获得以下URL:
/index.php?r=post/read&id=100
要更改URL格式,我们应该配置urlManager应用程序组件,以便createUrl
能够自动切换到新格式,并且应用程序能够正确理解新URL:
array(
......
'components'=>array(
......
'urlManager'=>array(
'urlFormat'=>'path',
),
),
);
我们会得到这个
/index.php/post/read/id/100
您可以在yii中参考此链接以获取用户友好的URL
规则应该是(要删除额外的城市,即GET参数名称):
当追加参数时
如果为true,则GET参数将附加到路径信息中,并使用斜杠相互分隔
更新:如果向操作传递了多个参数,即:
http://localhost/nbnd/search/manualsearch/Delhi?tosearch=restaurants
在规则末尾使用/*
:
'<controller:\w+>/<action:\w+>/<city:\w+>/*'=>'<controller>/<action>'
你读了吗?@bool.dev我读得很透彻,但没有得到预期的结果,因为它起作用了,但不准确。好的,然后详细说明你是如何尝试的,你预期的结果是什么,你说的准确是什么意思。具体一点,你会得到具体的答案。@bool.dev我添加了我的问题,请看一看。但是当我有两个变量,或者当我使用任何名称或任何其他变量而不是ID时,我该如何处理?如果控制器中的函数能够处理它,你可以添加任意多的变量。例如,如果您想将name变量添加为一个额外的参数,那么在params数组中包括像$params=array('id'=>100,'name'=>'bct')这样的名称。结果将是/index.php/post/read/id/100/name/bct。注意你的函数应该是actionRead($id,$name)在再次阅读你的问题时,我意识到你可能也在寻找有多个参数的情况,比如在你的manualsearch操作中,所以我添加了详细信息,一定要跟上up@bool-dev感谢这一点,它的工作很好,但现在我被困在一些其他问题上,请看一看
http://localhost/nbnd/search/manualsearch/Delhi/tosearch/restaurants