一、服务器中配置伪静态
      不同服务器配置伪静态的方式略有不同,这里仅提供Nginx和Apache伪静态教程
二、虚拟主机和Apache伪静态配置
     首先需要检查虚拟主机环境是不是apache,如果是直接将apache伪静态规则在FTP中新建一个 .htaccess 文件,并将一下伪静态规则复制进去

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine on
  3. RewriteBase /
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
  7. </IfModule>

复制代码

三、Nginx服务器伪静态配置
       在Nginx低版本中,是不支持pathinfo模式的,但是可以通过在Nginx.conf中配置转发规则实现,这里注意的是,系统是基于ThinkPHP框架上开发而来,且ThinkPHP Nginx伪静态规则是通配的

  1. location / {
  2.         if (!-e $request_filename) {
  3.                 rewrite  ^(.*)$  /index.php?s=$1  last;  
  4.                 break;
  5.         }
  6. }

复制代码

四、进入系统后台配置访问模式
     单用户标准版 2.1版本的后台配置路径:设置-基础设置-运营-网站访问模式
 
五、最重要的最后一步,进入程序代码启用伪静态模式
       程序根目录/application/config.php 找到设置伪静态 约在30行代码中
       代码说明:

  1. true      //开启伪静态         
  2. false    //关闭伪静态

复制代码

    配置文件中找到如下图位置,红框中输入是否开启或关闭伪静态 (切记做好备份,防止不必要的损失)
 
 

  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkPHP [ WE CAN DO IT JUST THINK ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2006~2016 http://thinkphp.cn All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
  8. // +----------------------------------------------------------------------
  9. // | Author: liu21st <liu21st@gmail.com>
  10. // +----------------------------------------------------------------------
  11.  
  12. /**
  13. * **************************************************************版本定义*******************************************************************************
  14. */
  15. define('NS_VER_B2C', 'NS_VER_B2C'); // 单店版基础电商
  16. define('NS_VER_B2C_FX', 'NS_VER_B2C_FX'); // 单店版分销
  17. define('NS_VERSION', NS_VER_B2C);
  18. /**
  19. * **************************************************************版本定义*******************************************************************************
  20. */
  21.  
  22. require APP_PATH . 'error_message.php';
  23.  
  24. $root = \think\Request::instance()->root();
  25. $root = str_replace('/index.php', '', $root);
  26. define("__ROOT__", $root);
  27. /**
  28. * *************************************************************伪静态*******************************************************************************
  29. */
  30. define("REWRITE_MODEL", true); // 设置伪静态
  31.                                 // 入口文件,系统未开启伪静态
  32. $rewrite = REWRITE_MODEL;
  33. if (! $rewrite) {
  34.     define('__URL__', \think\Request::instance()->domain() . \think\Request::instance()->baseFile());
  35. } else {
  36.     // 系统开启伪静态
  37.     if (empty($root)) {
  38.         define('__URL__', \think\Request::instance()->domain());
  39.     } else {
  40.         define('__URL__', \think\Request::instance()->domain() . \think\Request::instance()->root());
  41.     }
  42. }
  43. /**
  44. * *************************************************************伪静态*******************************************************************************
  45. */
  46.  
  47. define('UPLOAD', "upload"); // 上传文件路径
  48. define('ADMIN_MODULE', "admin"); // 重新定义后台模块
  49.  
  50. return [
  51.     // +----------------------------------------------------------------------
  52.     // | 应用设置
  53.     // +----------------------------------------------------------------------
  54.     // 应用命名空间
  55.     'app_namespace' => 'app',
  56.     // 应用调试模式,正式发布版本时改为false
  57.     'app_debug' => false,
  58.     // 应用Trace
  59.     'app_trace' => false,
  60.     // 应用模式状态
  61.     'app_status' => '',
  62.     // 是否支持多模块
  63.     'app_multi_module' => true,
  64.     // 入口自动绑定模块
  65.     'auto_bind_module' => false,
  66.     // 注册的根命名空间
  67.     'root_namespace' => [],
  68.     // 扩展配置文件
  69.     'extra_config_list' => [
  70.         'database',
  71.         'validate'
  72.     ],
  73.     // 扩展函数文件
  74.     'extra_file_list' => [
  75.         THINK_PATH . 'helper' . EXT
  76.     ],
  77.     // 默认输出类型
  78.     'default_return_type' => 'html',
  79.     // 默认AJAX 数据返回格式,可选json xml ...
  80.     'default_ajax_return' => 'json',
  81.     // 默认JSONP格式返回的处理方法
  82.     'default_jsonp_handler' => 'jsonpReturn',
  83.     // 默认JSONP处理方法
  84.     'var_jsonp_handler' => 'callback',
  85.     // 默认时区
  86.     'default_timezone' => 'PRC',
  87.     // 是否开启多语言
  88.     'lang_switch_on' => false,
  89.     // 默认全局过滤方法 用逗号分隔多个
  90.     'default_filter' => '',
  91.     // 默认语言
  92.     'default_lang' => 'zh-cn',
  93.     // 应用类库后缀
  94.     'class_suffix' => false,
  95.     // 控制器类后缀
  96.     'controller_suffix' => false,
  97.     
  98.     // +----------------------------------------------------------------------
  99.     // | 模块设置
  100.     // +----------------------------------------------------------------------
  101.     
  102.     // 默认模块名
  103.     'default_module' => 'shop',
  104.     // 禁止访问模块
  105.     'deny_module_list' => [
  106.         'common'
  107.     ],
  108.     // 默认控制器名
  109.     'default_controller' => 'Index',
  110.     // 默认操作名
  111.     'default_action' => 'index',
  112.     // 默认验证器
  113.     'default_validate' => '',
  114.     // 默认的空控制器名
  115.     'empty_controller' => 'Error',
  116.     // 操作方法后缀
  117.     'action_suffix' => '',
  118.     // 自动搜索控制器
  119.     'controller_auto_search' => false,
  120.     
  121.     // +----------------------------------------------------------------------
  122.     // | URL设置
  123.     // +----------------------------------------------------------------------
  124.     
  125.     // PATHINFO变量名 用于兼容模式
  126.     'var_pathinfo' => 's',
  127.     // 兼容PATH_INFO获取
  128.     'pathinfo_fetch' => [
  129.         'ORIG_PATH_INFO',
  130.         'REDIRECT_PATH_INFO',
  131.         'REDIRECT_URL'
  132.     ],
  133.     // pathinfo分隔符
  134.     'pathinfo_depr' => '/',
  135.     // URL伪静态后缀
  136.     'url_html_suffix' => 'html',
  137.     // URL普通方式参数 用于自动生成
  138.     'url_common_param' => false,
  139.     // URL参数方式 0 按名称成对解析 1 按顺序解析
  140.     'url_param_type' => 0,
  141.     // 是否开启路由
  142.     'url_route_on' => true,
  143.     // 路由配置文件(支持配置多个)
  144.     'route_config_file' => [
  145.         'route'
  146.     ],
  147.     // 是否强制使用路由
  148.     'url_route_must' => false,
  149.     // 域名部署
  150.     'url_domain_deploy' => false,
  151.     // 域名根,如thinkphp.cn
  152.     'url_domain_root' => '',
  153.     // 是否自动转换URL中的控制器和操作名
  154.     'url_convert' => true,
  155.     // 默认的访问控制器层
  156.     'url_controller_layer' => 'controller',
  157.     // 表单请求类型伪装变量
  158.     'var_method' => '_method',
  159.     
  160.     // +----------------------------------------------------------------------
  161.     // | 模板设置
  162.     // +----------------------------------------------------------------------
  163.     
  164.     'template' => [
  165.         // 模板引擎类型 支持 php think 支持扩展
  166.         'type' => 'Think',
  167.         // 模板路径
  168.         'view_path' => 'template/',
  169.         
  170.         // 模板后缀
  171.         'view_suffix' => 'html',
  172.         // 模板文件名分隔符
  173.         'view_depr' => DS,
  174.         // 模板引擎普通标签开始标记
  175.         'tpl_begin' => '{',
  176.         // 模板引擎普通标签结束标记
  177.         'tpl_end' => '}',
  178.         // 标签库标签开始标记
  179.         'taglib_begin' => '{',
  180.         // 标签库标签结束标记
  181.         'taglib_end' => '}',
  182.         'taglib_load' => true, // 是否使用内置标签库之外的其它标签库,默认自动检测
  183.         'taglib_build_in' => 'cx',
  184.           // 引入模板标签
  185.         'taglib_pre_load' => 'data\taglib\Niu',
  186.         
  187.         // 是否开启模板编译缓存,设为false则每次都会重新编译
  188.         'tpl_cache' => false
  189.     ], // 内置标签库名称(标签使用不必指定标签库名称),以逗号分隔 注意解析顺序
  190.        
  191.     // 视图输出字符串内容替换
  192.     'view_replace_str' => [],
  193.     // 默认跳转页面对应的模板文件
  194.     'dispatch_success_tmpl' => ROOT_PATH . 'template' . DS . 'success_tmpl.html',
  195.     'dispatch_error_tmpl' => ROOT_PATH . 'template' . DS . 'error_tmpl.html',
  196.     
  197.     // +----------------------------------------------------------------------
  198.     // | 异常及错误设置
  199.     // +----------------------------------------------------------------------
  200.     
  201.     // 异常页面的模板文件
  202.     'exception_tmpl' => ROOT_PATH . 'template' . DS . 'think_exception.html',
  203.     
  204.     // 错误显示信息,非调试模式有效
  205.     'error_message' => '页面不存在或者系统正忙,请稍后再试!',
  206.     // 显示错误信息
  207.     'show_error_msg' => true,
  208.     // 异常处理handle类 留空使用 \think\exception\Handle
  209.     'exception_handle' => '',
  210.     
  211.     // +----------------------------------------------------------------------
  212.     // | 日志设置
  213.     // +----------------------------------------------------------------------
  214.     
  215.     'log' => [
  216.         // 日志记录方式,内置 file socket 支持扩展
  217.         'type' => 'test',
  218.         // 日志保存目录
  219.         'path' => LOG_PATH,
  220.         // 日志记录级别
  221.         'level' => []
  222.     ],
  223.     
  224.     // +----------------------------------------------------------------------
  225.     // | Trace设置 开启 app_trace 后 有效
  226.     // +----------------------------------------------------------------------
  227.     'trace' => [
  228.         // 内置Html Console 支持扩展
  229.         'type' => 'Html'
  230.     ],
  231.     
  232.     // +----------------------------------------------------------------------
  233.     // | 缓存设置
  234.     // +----------------------------------------------------------------------
  235.     
  236.     'cache' => [
  237.         // 驱动方式
  238.         'type' => 'File',
  239.         // 缓存保存目录
  240.         'path' => CACHE_PATH,
  241.         // 缓存前缀
  242.         'prefix' => '',
  243.         // 缓存有效期 0表示永久缓存
  244.         'expire' => 0
  245.     ],
  246.     
  247.     // +----------------------------------------------------------------------
  248.     // | 会话设置
  249.     // +----------------------------------------------------------------------
  250.     
  251.     'session' => [
  252.         'id' => '',
  253.         // SESSION_ID的提交变量,解决flash上传跨域
  254.         'var_session_id' => '',
  255.         // SESSION 前缀
  256.         'prefix' => 'niu',
  257.         // 驱动方式 支持redis memcache memcached
  258.         'type' => '',
  259.         // 是否自动开启 SESSION
  260.         'auto_start' => true
  261.     ],
  262.     
  263.     // +----------------------------------------------------------------------
  264.     // | Cookie设置
  265.     // +----------------------------------------------------------------------
  266.     'cookie' => [
  267.         // cookie 名称前缀
  268.         'prefix' => '',
  269.         // cookie 保存时间
  270.         'expire' => 0,
  271.         // cookie 保存路径
  272.         'path' => '/',
  273.         // cookie 有效域名
  274.         'domain' => '',
  275.         // cookie 启用安全传输
  276.         'secure' => false,
  277.         // httponly设置
  278.         'httponly' => '',
  279.         // 是否使用 setcookie
  280.         'setcookie' => true
  281.     ],
  282.     'view_replace_str' => array(
  283.         '__PUBLIC__' => __ROOT__ . '/public/',
  284.         '__STATIC__' => __ROOT__ . '/public/static',
  285.         'ADMIN_IMG' => __ROOT__ . '/public/admin/images',
  286.         'ADMIN_CSS' => __ROOT__ . '/public/admin/css',
  287.         'ADMIN_JS' => __ROOT__ . '/public/admin/js',
  288.         'PLATFORM_IMG' => __ROOT__ . '/public/platform/images',
  289.         'PLATFORM_CSS' => __ROOT__ . '/public/platform/css',
  290.         'PLATFORM_JS' => __ROOT__ . '/public/platform/js',
  291.         '__TEMP__' => __ROOT__ . '/template',
  292.         '__ROOT__' => __ROOT__,
  293.         'UPLOAD_URL' => __URL__ . '/' . ADMIN_MODULE,
  294.         'PLATFORM_MAIN' => __URL__ . '/platform',
  295.         'ADMIN_MAIN' => __URL__ . '/' . ADMIN_MODULE,
  296.         'APP_MAIN' => __URL__ . '/wap',
  297.         'SHOP_MAIN' => __URL__ . '',
  298.         '__UPLOAD__' => __ROOT__,
  299.         '__MODULE__' => '/' . ADMIN_MODULE,
  300.         '__ADDONS__' => __ROOT__ . '/addons', // 插件目录
  301.                                           
  302.         // 上传文件路径
  303.         'UPLOAD_GOODS' => UPLOAD . '/goods/', // 存放商品图片主图
  304.         'UPLOAD_GOODS_SKU' => UPLOAD . '/goods_sku/', // 存放商品sku图片
  305.         'UPLOAD_GOODS_BRAND' => UPLOAD . '/goods_brand/', // 存放商品品牌图
  306.         'UPLOAD_GOODS_GROUP' => UPLOAD . '/goods_group/', // 存放商品分组图片
  307.         'UPLOAD_GOODS_CATEGORY' => UPLOAD . '/goods_category/', // 存放商品分组图片
  308.         'UPLOAD_COMMON' => UPLOAD . '/common/', // 存放公共图片、网站logo、独立图片、没有任何关联的图片
  309.         'UPLOAD_AVATOR' => UPLOAD . '/avator/', // 存放用户头像
  310.         'UPLOAD_PAY' => UPLOAD . '/pay/', // 存放支付生成的二维码图片
  311.         'UPLOAD_ADV' => UPLOAD . '/image_collection/', // //存放广告位图片,由于原“advertising”文件夹名称会被过滤掉。2017年9月14日 14:58:07 修改为“image_collection”
  312.         'UPLOAD_EXPRESS' => UPLOAD . '/express/', // 存放物流
  313.         'UPLOAD_CMS' => UPLOAD . '/cms/', // 存放文章图片
  314.         'UPLOAD_VIDEO' => UPLOAD . "/video/"
  315.     ), // 存放视频文件
  316.        
  317.     // 验证码排至文件
  318.     'captcha' => [
  319.         // 2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY
  320.         // niushop2017459ABCDEFGHJKLMNQRTVWXYZ
  321.         // 验证码字符集合
  322.         'codeSet' => '0123456789',
  323.         // 验证码字体大小(px)
  324.         'fontSize' => 15,
  325.         
  326.         // 是否画混淆曲线
  327.         'useCurve' => false,
  328.         
  329.         // 是否添加杂点
  330.         'useNoise' => false,
  331.         
  332.         // 验证码图片高度
  333.         'imageH' => 30,
  334.         // 验证码图片宽度
  335.         'imageW' => 100,
  336.         // 验证码位数
  337.         'length' => 4,
  338.         // 验证成功后是否重置
  339.         'reset' => true
  340.     ],
  341.     // 分页配置
  342.     'paginate' => [
  343.         'type' => 'bootstrap',
  344.         'var_page' => 'page',
  345.         'list_rows' => 14,
  346.         'list_showpages' => 5,
  347.         'picture_page_size' => 15
  348.     ]
  349. ];
  350.  

复制代码