【问题标题】:Omit a part from url从 url 中省略一部分
【发布时间】:2018-03-24 10:14:49
【问题描述】:

我正在为我的网站使用 Codeigniter,我想要我的单一产品 url 像 thi

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 可以,但不知道怎么做?

【问题讨论】:

  • 您要更改域名吗?
  • 这是一个错字。我编辑了问题,基本上我想从网址中删除myproducts 部分。

标签: php .htaccess codeigniter url url-rewriting


【解决方案1】:

如果你有类似的网址

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';

但是如果您想为所有人提供相同的路线功能并做出每个决定 与网址类似

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;
                    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多