我想用代码点火器重写url。
对于产品页面,我希望更改给定的url。
www.example.com/services/service-name至
www.example.com/service-name对于服务页面,我想从给定的url中更改
www.example.com/products/product-name至
www.example.com/product-name但是链接不起作用。它并没有区分产品和服务网址。令人困惑的是,网址是否与产品或服务有关。应该取哪一页?
发布于 2017-06-13 08:59:38
首先,通配符路由必须在最后。
$route['some-route'] = 'ctrl/m/$1';
$route['some-other-route'] = 'ctrl/m2/$1';
...
$route['(:any)'] = 'ctrl/m3/$1';路由将按照定义的顺序运行。较高的路线总是优先于较低的路线。
第二,有不同的路线是很好的方法,因为
/services/或/products/这样的段,则需要注意插入,而不是重复不同区域之间的名称(即服务、产品)。在某种程度上,路由工作是从URL获取值的,而应用程序将使用该值来完成一些工作。如果你有路线
https://www.example.com/making-powerplant应用程序不知道制造发电厂是服务还是产品。因此,如果您对insert数据或insert making-powerplant进行了所有操作,以避免将服务和产品的标题加倍,那么现在您的应用程序应该查询这两个表。首先,它应该查询服务表,看看是否有类似的标题。如果在服务表中找不到标题,应用程序将需要查询products表。这将是冗长的应用程序和代码设计,因为在大多数情况下,您正在进行不需要的查询。但这只是检查来自一个URI段的两个表或两个源的方法。我会坚持/services/service-1和/products/product-1。
https://stackoverflow.com/questions/44513720
复制相似问题