<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 域名路由 ## 域名路由 ThinkPHP支持完整域名、子域名和IP部署的路由和綁定功能,同時還可以起到簡化URL的作用。 可以單獨給域名設置路由規則,例如給blog子域名注冊單獨的路由規則: ``` Route::domain('blog', function () { // 動態注冊域名的路由規則 Route::rule('new/:id', 'index/news/read'); Route::rule(':user', 'index/user/info'); }); ``` > 閉包中可以使用路由的其它方法,包括路由分組,甚至給域名設置MISS路由。 支持數組的方式: ``` Route::domain('blog', [ // 動態注冊域名的路由規則 ':id' => ['blog/read', ['method' => 'GET'], ['id' => '\d+']], ':name' => 'blog/read', ]); ``` 支持同時對多個域名設置相同的路由規則: ``` Route::domain(['blog', 'admin'], function () { // 動態注冊域名的路由規則 Route::rule('new/:id', 'index/news/read'); Route::rule(':user', 'index/user/info'); }); ``` 如果你需要設置一個路由跨所有域名都可以生效,可以對分組路由或者某個路由使用`crossDomainRule`方法設置: ``` Route::group('', function () { // 動態注冊域名的路由規則 Route::rule('new/:id', 'index/news/read'); Route::rule(':user', 'index/user/info'); })->crossDomainRule(); ``` ## 域名綁定 ### 綁定到模塊 除了設置域名的路由規則之外,還支持單獨給域名進行路由綁定,例如綁定到模塊: ``` // blog子域名綁定到blog模塊 Route::domain('blog', 'blog'); // 完整域名綁定到admin模塊 Route::domain('admin.thinkphp.cn', 'admin'); // IP綁定到admin模塊 Route::domain('114.23.4.5', 'admin'); ``` blog子域名綁定后,URL訪問規則變成: ``` // 原來的URL訪問 http://www.thinkphp.cn/blog/article/read/id/5 // 綁定到blog子域名訪問 http://blog.thinkphp.cn/article/read/id/5 ``` 支持直接綁定到控制器,例如: ``` // blog子域名綁定到index模塊的blog控制器 Route::domain('blog', 'index/blog'); ``` URL訪問地址變化為: ``` // 原來的URL訪問 http://www.thinkphp.cn/index/blog/read/id/5 // 綁定到blog子域名訪問 http://blog.thinkphp.cn/read/id/5 ``` 如果你的域名后綴比較特殊,例如是`com.cn`或者`net.cn` 之類的域名,需要在應用配置文件`app.php`中配置: ``` 'url_domain_root' => 'thinkphp.com.cn' ``` 如果你需要同時定義域名路由和進行域名綁定的話,可以使用下面的方式(`V5.1.6+`版本有效) ``` Route::domain('blog', function () { // 動態注冊域名的路由規則 Route::rule('new/:id', 'index/news/read'); Route::rule(':user', 'index/user/info'); })->bind('blog'); ``` 同樣也支持綁定到命名空間或者類。 ### 綁定到命名空間 ``` // blog子域名綁定命名空間 Route::domain('blog', ':\app\blog\controller'); ``` ### 綁定到類 ``` // blog子域名綁定到類 Route::domain('blog', '\app\blog\controller\Article'); ``` ## 泛域名部署 可以支持泛域名部署規則,例如: ``` // 綁定泛二級域名域名到book模塊 Route::domain('*', 'book'); ``` 下面的URL訪問都會直接訪問book模塊 ``` http://hello.thinkphp.cn http://quickstart.thinkphp.cn ``` 并且可以直接通過`Request::panDomain()` 獲取當前的泛域名值。 支持三級泛域名部署,例如: ``` // 綁定泛三級域名到user模塊 Route::domain('*.user', 'user'); ``` 也支持直接把泛域名的值作為額外參數傳入 ``` // 綁定泛三級域名到user模塊 Route::domain('*.user', 'user?name=*'); ``` 就可以通過`Request::param('name')`獲取當前泛域名的值 > 目前只支持二級域名和三級域名的泛域名部署。 ## 綁定到Response對象 可以直接綁定某個域名到`Response`對象,例如: ``` // 綁定域名到Response對象 Route::domain('test', response()->code(404)); ``` 如果域名需要同時定義路由規則,并且對其它的情況進行綁定操作,可以在閉包里面執行綁定操作,例如: ``` Route::domain('blog', function () { // 動態注冊域名的路由規則 Route::rule('new/:id', 'index/news/read'); })->bind('blog'); ``` 在`blog`域名下面定義了一個`new/:id`的路由規則,指向`index`模塊,而其它的路由則綁定到`blog`模塊。 ## 傳入額外參數 可以在域名綁定或者路由定義后傳入額外的隱藏參數,例如: ``` Route::domain('blog', function () { // 動態注冊域名的路由規則 Route::rule('new/:id', 'index/news/read'); Route::rule(':user', 'index/user/info'); })->append(['app_id'=>1]); ``` 上面的域名路由統一傳入了`app_id`參數,該參數的值可以通過`Request`類的`param`方法獲取。 也可以直接在域名綁定后傳入額外參數 ``` Route::domain('blog', 'blog') ->append(['app_id'=>1]); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看