多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Niushop开源商城路由配置 --- ### 1. 普通模式 关闭路由,完全使用默认的`PATH_INFO`方式URL: ```php 'url_route_on'=>false, ``` 路由关闭后,不会解析任何路由规则,采用默认的`PATH_INFO`模式访问URL: ```php http://serverName/index.php/module/controller/action/param/value/... ``` > 但仍然可以通过操作方法的参数绑定、空控制器和空操作等特性实现URL地址的简化。 可以设置`url_param_type`配置参数来改变pathinfo模式下面的参数获取方式,默认是按名称成对解析,支持按照顺序解析变量,只需要更改为: ```php // 按照顺序解析变量 'url_param_type'=>1, ``` ### 2. 混合模式 开启路由,并使用路由定义+默认`PATH_INFO`方式的混合: ```php 'url_route_on'=>true, 'url_route_must'=>false, ``` 该方式下面,只需要对需要定义路由规则的访问地址定义路由规则,其它的仍然按照第一种普通模式的`PATH_INFO`模式访问URL。 ### 3. 强制模式 开启路由,并设置必须定义路由才能访问: ```php 'url_route_on'=>true, 'url_route_must'=>true, ``` 这种方式下面必须严格给每一个访问地址定义路由规则(包括首页),否则将抛出异常。 首页的路由规则采用`/`定义即可,例如下面把网站首页路由输出`Hello,world!` ```php Route::get('/',function(){return 'Hello,world!';}); ``` ### 4. niushop路由 niushop路由模式分为兼容模式与pathinfo模式,兼容模式可以在不懂得配置伪静态模式下使用,pathinfo模式需要强制配置伪静态路由。配置选项在 设置&gt;基础设置&gt;运营设置 ``` Route::get('/',function(){return 'Hello,world!';}); ``` niushop开启pathinfo模式下可以使用伪静态将前端页面展示成html形式,同时需要修改伪静态配置,路径在application/config.php: ```php define("REWRITE_MODEL", true); // 设置伪静态,默认false ``` ```php ``` ```php /** * niushop特定路由规则 common.php */ function urlRoute() { /** * *********************************************************************************特定路由规则*********************************************** */ if (REWRITE_MODEL) { $website = new WebSite(); $url_route_list = $website->getUrlRoute(); if (!empty($url_route_list['data'])) { foreach ($url_route_list['data'] as $k => $v) { // 针对特定路由特殊处理 if ($v['route'] == 'web/goods/detail') { Route::get($v['rule'] . '-<goods_id>', $v['route'], []); } elseif ($v['route'] == 'web/article/detail') { Route::get($v['rule'] . '-<article_id>', $v['route'], []); } elseif ($v['route'] == 'web/goods/sku') { Route::get($v['rule'] . '-<sku_id>', $v['route'], []); } else { Route::get($v['rule'], $v['route'], []); } } } } } ``` 具体增加路由规则可以查看thinkphp5