• 技术文章 >php框架 >ThinkPHP

    ThinkPHP5.1 域名绑定模块

    GuanhuiGuanhui2020-04-30 13:44:35转载2611
    如果你的网站需要在一个后台里面加两个网站的资料,那么你的 前台就会有四个模块,主域名,主域名手机端,次域名,次域名手机端,需要把主域名和次域名的模块分别绑定到不同的域名上,并且主域名和次域名的路由完全一致的情况下,你可以参考下我下面这种配置路由方式,

    <?php
    //主域名的 路由定义
    Route::rule('/', 'index/index');
    Route::rule('category/:id/[:p]', 'content/lists');//导航分类
    Route::rule('preview/:id/[:p]', 'content/preview');//后台预览
    Route::rule('categorys/:ids/[:p]', 'content/lists');//新闻标签
    Route::rule('view/:id', 'content/view');//资讯详情
    Route::rule('views/:id', 'content/views');//网站地图
    Route::rule('message', 'content/message');//在线留言
    Route::rule('sitemap.xml', 'index/sitemap');//这是蜘蛛地图路由
    //主域名的手机站
    Route::domain('m.'.config ( 'setting.web_site_net' ), function () {
        // 动态注册域名的路由规则
        Route::rule('/', 'wap/index/index');
        Route::rule('entry/:id/[:p]', 'wap/content/lists'); //导航分类
        Route::rule('entrys/:ids/[:p]', 'wap/content/lists');//新闻标签
        Route::rule('detail/:id', 'wap/content/view');//资讯详情
        Route::rule('messages', 'wap/content/message');//在线留言
    })->bind('wap');
    // 第二域名主域名 完整域名绑定到index_en模块
    if(config ( 'setting.is_www' )){
        $web_site_net_en= 'www.' . config ( 'setting.web_site_net_en' );
    }else{
        $web_site_net_en=  config ( 'setting.web_site_net_en' );
    }
    Route::domain($web_site_net_en, function () {
        // 动态注册域名的路由规则
        Route::rule('/', 'index_en/index/index');
        Route::rule('category/:id/[:p]', 'index_en/content/lists');
        Route::rule('preview/:id/[:p]', 'index_en/content/preview');
        Route::rule('categorys/:ids/[:p]', 'index_en/content/lists');
        Route::rule('view/:id', 'index_en/content/view');
        Route::rule('views/:id', 'index_en/content/views');
        Route::rule('message', 'index_en/content/message');
        Route::rule('sitemap.xml', 'index_en/index/sitemap');
    })->bind('index_en');
    //第二域名手机域名
    Route::domain('m.'.config ( 'setting.web_site_net_en' ), function () {
        // 动态注册域名的路由规则
        Route::rule('/', 'wap_en/index/index');
        Route::rule('entry/:id/[:p]', 'wap_en/content/lists'); //导航分类
        Route::rule('entrys/:ids/[:p]', 'wap_en/content/lists');//新闻标签
        Route::rule('detail/:id', 'wap_en/content/view');//资讯详情
        Route::rule('messages', 'wap_en/content/message');//在线留言
    })->bind('wap_en');
    // 全局变量 支持批量添加
    Route::pattern([
        'name' => '\w+',
        'id'   => '\d+',
    ]);

    最后说下,如果是本地用的phpstudy 开发并且是apache环境的情况下,要在一个域名管理里面配置四个域名,可以在第二域名里面用空格把另外三个域名写一起,最后在host文件里面绑定这四个域名到本地即可

    推荐教程:《TP5

    以上就是ThinkPHP5.1 域名绑定模块的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:thinkphp
    上一篇:thinkphp5增加允许指定ip访问模块的方法 下一篇:ThinkPHP6新增‘’多应用‘’与ThinkPHP5有啥区别呢
    大前端线上培训班

    相关文章推荐

    • thinkphp中__construct()和__initialize()的介绍• thinkphp5中关联模型的定义与使用方法• thinkphp5中常用数据库查询语句介绍• thinkphp5多数据库配置介绍• thinkphp5如何开启调试模式

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网