2017-10-12 85 views
-1

我用笨,我的网站的一部分,我要像THI忽略从URL

http://sitename.com/category-slug/product-slug

我的单品链接所以我route.php登记的路线是这样$route['([a-zA-Z0-9-]+)'/'([a-zA-Z0-9-]+)'] = 'products/show';

但是,这条路线导致我的问题这条路线也被用于每一个这样的路线,例如http://sitename.com/admin/dashboard,我不想这样我在我的路线添加一个标识符像这样http://sitename.com/myproducts/category-slug/product-slug现在我的单一产品页面正在使用此路线,而不是与其他路线冲突。现在的问题是如何省略myproducts部分来自

http://sitename.com/myproducts/category-slug/product-slughttp://sitename.com/category-slug/product-slug

我知道这是可能的,但.htaccess不知道怎么样?

+0

你想更改域名? – shashi

+0

这是一个错字。我编辑了问题,基本上我想从url中删除'myproducts'部分。 –

回答

0

,如果你有一个像

http://sitename.com/admin/dashboard 
http://sitename.com/myproducts/category-slug/product-slug 

,你可以在你的路由文件

$route['admin/:any']   = 'admin/int_rout/$1'; 
$route['myproducts/:any/:any'] = 'products/show/$1/$2'; 

做这url's,但如果你想对所有相同的路由功能,让每一个决定 与url一样

http://sitename.com/admin/dashboard 
http://sitename.com/category-slug/product-slug 

$route['(.+)'] = function ($param) { 
         $pos  = strpos($param, '/'); 

         if(! $param){ 
          $return = 'simple/url'; 
         } 
         else{ 
          $return = explode('/', $param); 

          switch($return[0]){ 
           case 'admin': 
            $return = 'admin/int_route'; 
            break; 
           default: 
            $return = 'products/show/$return [0]/$return [1]'; 
            break; 
          } 
         } 

         return $return; 
        }