我有一个房地产网站,在CodeIgniter中我的链接名称是:
htp://examplesite(dot)com/property/31/en/property_title
我想将其替换为:
htp://examplesite(dot)com/my-custom-slug.htm
或
htp://examplesite(dot)com/property_title
这两种方式可能都可以。我的路由是:
$route['default_controller'] = "frontend";
$route['404_override'] = 'frontend';
/* Custom routing */
$route['admin'] = 'admin/dashboard';
//$route['secret'] = 'admin/dashboard';
// To change property->listing in uri
$route['listing/(:num)/(:any)/(:any)'] = "property/$1/$2/$3";
$route['listing/(:num)/(:any)'] = "property/$1/$2";在这种情况下,最好的方法是什么?
我知道有一个可能的解决方案:
添加
$config'listing_uri‘= 'listing';
然后添加到:
在“application\config\routes.php”中
之后:
$route['listing/(:num)/(:any)/(:any)'] = "property/$1/$2/$3";
$route['listing/(:num)/(:any)'] = "property/$1/$2";同时添加:
$route['changed/(:num)/(:any)/(:any)'] = "property/$1/$2/$3";
$route['changed/(:num)/(:any)'] = "property/$1/$2";但有没有办法删除‘列表’,只看到干净的网址(为了更好的搜索引擎优化目的)?
发布于 2015-11-24 02:57:39
欢迎,幸运的是你的问题不是太大:)
也许在属性标题之前有一个插件,以使解决方案更具可扩展性:
$route["listing/(:any)"] = "property/view/$1";然后将浏览器指向yoursite.com/listing/some_slug或yoursite.com/listing/12
您需要有一个与每个属性相关联的slug,否则您可以使用id,并且在view函数中仅根据slug或id参数检索属性。
如果您不想包含listing/,那么在尝试创建其他路由时可能会遇到问题。
https://stackoverflow.com/questions/33878329
复制相似问题