2017-05-20 35 views
1

我正在构建基于CodeIgniter的在线商店。我希望网址看起来像这样?什么是这种类型的SEO友好的网址的解决方案。在CodeIgniter中为seo显示动态URL

http://example.com/[product-category]/[product-sub category] 

我需要这个网址:

example.com/women/sarees-sari 

,但会产生

example.com/Product/item/MQ==/women/sarees-sari 

/Product/是我的控制了自己的网址, /item/是函数名, /MQ==/是我的产品ID

+0

尝试类似'$ route ['product/item /(:any)/(:any)/(:any)'] ='controller/function/$ 1/$ 2/$ 3';'config/routes。 php https://www.codeigniter.com/user_guide/general/routing.html#examples – user4419336

回答

1

您可以使用routing来处理您的请求网址。这很简单。例如,对于您的情况:

$route['women/sarees-sari'] = 'Product/item/MQ=='; 

笨有_remap功能,可以在控制器被调用。所以你可以在核心控制器或主控制器上调用它,然后调用你所希望的函数。

+0

你好, 谢谢,代码是工作,但只适用于一个类别。 但我有多个类别与多个类别ID 我的控制器和功能是相同的,类别ID是多个像问题/ MQ == /,/ Ms == /,/ Md == /等(100个类别和子类别) 那么我该如何编写代码 –

+0

您可以在路由中使用**通配符**格式或**正则表达式**。例如使用'$ route ['women /(:any)'] ='Product/item/$ 1';'发送第二个url参数给item函数并在item函数中处理它。 –

1

CodeIgniter具有非常好的路由系统,因此您可以根据您的要求修改您的url并使用/application/config/routes.php文件进行链接。如果你第一次打开这个文件,你将会看到只有默认的控制器,例如$ route ['default_controller'] ='welcome'; 但您可以根据需要添加尽可能多的路线。就像你的情况一样,你应该添加 $ route ['women-sarees-sari'] ='Product/item/MQ ==';这会将用户从www.example.com/women-sarees-sari发送到正确的控制器和方法。