{"id":754,"date":"2025-06-11T22:53:28","date_gmt":"2025-06-11T14:53:28","guid":{"rendered":"https:\/\/www.zhaozhao123.cn\/php\/php-application-manual\/laravel\/754.html"},"modified":"2025-06-11T22:53:28","modified_gmt":"2025-06-11T14:53:28","slug":"laravel-%e5%ad%90%e5%9f%9f%e8%b7%af%e7%94%b1%ef%bc%9a%e5%bc%80%e5%8f%91%e8%80%85%e6%8c%87%e5%8d%97","status":"publish","type":"my1js","link":"https:\/\/www.zhaozhao123.cn\/php\/my1js\/754.html","title":{"rendered":"Laravel \u5b50\u57df\u8def\u7531\uff1a\u5f00\u53d1\u8005\u6307\u5357"},"content":{"rendered":"<div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--1\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/dyA-1-400x300.jpg\" alt=\"Bug&#32534;&#35793;&#29422;\" class=\"wp-image-1842\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">Bug&#32534;&#35793;&#29422;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#26631;&#39064;&#65306;Laravel &#23376;&#22495;&#36335;&#30001;&#65306;&#24320;&#21457;&#32773;&#25351;&#21335;<\/p>\n<p>&#23376;&#22495;&#21517;&#26159;&#29616;&#20195;&#32593;&#31449;&#26550;&#26500;&#20013;&#30340;&#37325;&#35201;&#32452;&#25104;&#37096;&#20998;&#65292;&#23427;&#20204;&#20801;&#35768;&#29992;&#25143;&#36890;&#36807;&#19981;&#21516;&#30340;&#22495;&#21517;&#35775;&#38382;&#21516;&#19968;&#20010;&#24212;&#29992;&#31243;&#24207;&#30340;&#19981;&#21516;&#37096;&#20998;&#12290;Laravel &#26159;&#19968;&#20010;&#27969;&#34892;&#30340; PHP &#26694;&#26550;&#65292;&#23427;&#25552;&#20379;&#20102;&#20016;&#23500;&#30340;&#21151;&#33021;&#26469;&#22788;&#29702;&#23376;&#22495;&#36335;&#30001;&#12290;&#26412;&#25991;&#23558;&#20026;&#20320;&#25552;&#20379;&#19968;&#20010;&#35814;&#32454;&#30340;&#24320;&#21457;&#32773;&#25351;&#21335;&#65292;&#24110;&#21161;&#20320;&#22312; Laravel &#20013;&#23454;&#29616;&#21644;&#31649;&#29702;&#23376;&#22495;&#36335;&#30001;&#12290;<\/p>\n<h3>1. &#23433;&#35013; Laravel<\/h3>\n<p>&#39318;&#20808;&#65292;&#30830;&#20445;&#20320;&#24050;&#32463;&#23433;&#35013;&#20102; Composer&#12290;&#28982;&#21518;&#65292;&#20351;&#29992;&#20197;&#19979;&#21629;&#20196;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340; Laravel &#39033;&#30446;&#65306;<\/p>\n<pre><code class=\"language-bash\">composer create-project --prefer-dist laravel\/laravel my-subdomain-app\ncd my-subdomain-app<\/code><\/pre>\n<h3>2. &#37197;&#32622;&#26381;&#21153;&#22120;<\/h3>\n<p>&#22914;&#26524;&#20320;&#20351;&#29992;&#30340;&#26159; Apache &#25110; Nginx &#20316;&#20026; Web &#26381;&#21153;&#22120;&#65292;&#20320;&#38656;&#35201;&#37197;&#32622;&#23427;&#20204;&#20197;&#25903;&#25345;&#23376;&#22495;&#36335;&#30001;&#12290;<\/p>\n<h4>Apache<\/h4>\n<p>&#32534;&#36753; <code>httpd-vhosts.conf<\/code> &#25991;&#20214;&#65288;&#36890;&#24120;&#20301;&#20110; <code>\/etc\/apache2\/sites-available\/<\/code> &#30446;&#24405;&#19979;&#65289;&#65292;&#28155;&#21152;&#20197;&#19979;&#20869;&#23481;&#65306;<\/p>\n<pre><code class=\"language-apache\">&lt;VirtualHost *:80&gt;\n    ServerName sub.example.com\n    DocumentRoot \/var\/www\/html\/my-subdomain-app\/public\n\n    &lt;Directory \/var\/www\/html\/my-subdomain-app\/public&gt;\n        Options Indexes FollowSymLinks\n        AllowOverride All\n        Require all granted\n    &lt;\/Directory&gt;\n\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n<p>&#28982;&#21518;&#21551;&#29992;&#34394;&#25311;&#20027;&#26426;&#24182;&#37325;&#21551; Apache&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo a2ensite sub.example.com\nsudo systemctl restart apache2<\/code><\/pre>\n<h4>Nginx<\/h4>\n<p>&#32534;&#36753; <code>nginx\/sites-available\/subdomain.conf<\/code> &#25991;&#20214;&#65288;&#36890;&#24120;&#20301;&#20110; <code>\/etc\/nginx\/sites-available\/<\/code> &#30446;&#24405;&#19979;&#65289;&#65292;&#28155;&#21152;&#20197;&#19979;&#20869;&#23481;&#65306;<\/p>\n<pre><code class=\"language-nginx\">server {\n    listen 80;\n    server_name sub.example.com;\n\n    root \/var\/www\/html\/my-subdomain-app\/public;\n    index index.php index.html index.htm;\n\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$query_string;\n    }\n\n    location ~ .php$ {\n        include snippets\/fastcgi-php.conf;\n        fastcgi_pass unix:\/var\/run\/php\/php7.4-fpm.sock; # &#26681;&#25454;&#20320;&#30340; PHP &#29256;&#26412;&#35843;&#25972;&#36335;&#24452;\n    }\n}<\/code><\/pre>\n<p>&#28982;&#21518;&#21551;&#29992;&#31449;&#28857;&#24182;&#27979;&#35797;&#37197;&#32622;&#65306;<\/p>\n<pre><code class=\"language-bash\">sudo ln -s \/etc\/nginx\/sites-available\/subdomain.conf \/etc\/nginx\/sites-enabled\/\nsudo nginx -t\nsudo systemctl reload nginx<\/code><\/pre>\n<h3>3. &#21019;&#24314;&#23376;&#22495;&#25511;&#21046;&#22120;<\/h3>\n<p>&#22312;&#20320;&#30340; Laravel &#39033;&#30446;&#20013;&#65292;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#25511;&#21046;&#22120;&#26469;&#22788;&#29702;&#23376;&#22495;&#35831;&#27714;&#12290;<\/p>\n<pre><code class=\"language-bash\">php artisan make:controller SubdomainController<\/code><\/pre>\n<p>&#22312;&#36825;&#20010;&#25511;&#21046;&#22120;&#20013;&#65292;&#20320;&#21487;&#20197;&#23450;&#20041;&#22788;&#29702;&#19981;&#21516;&#23376;&#22495;&#21517;&#30340;&#36923;&#36753;&#12290;<\/p>\n<pre><code class=\"language-php\">namespace AppHttpControllers;\n\nuse IlluminateHttpRequest;\n\nclass SubdomainController extends Controller\n{\n    public function handle(Request $request)\n    {\n        $subdomain = $request-&gt;getHttpHost();\n        \/\/ &#22788;&#29702;&#19981;&#21516;&#23376;&#22495;&#21517;&#30340;&#36923;&#36753;\n        return view('subdomains.' . $subdomain);\n    }\n}<\/code><\/pre>\n<h3>4. &#21019;&#24314;&#35270;&#22270;&#25991;&#20214;<\/h3>\n<p>&#20026;&#27599;&#20010;&#23376;&#22495;&#21517;&#21019;&#24314;&#30456;&#24212;&#30340;&#35270;&#22270;&#25991;&#20214;&#12290;<\/p>\n<pre><code class=\"language-html\">&lt;!-- resources\/views\/subdomains\/example.blade.php --&gt;\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;Example Subdomain&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;h1&gt;Welcome to Example Subdomain!&lt;\/h1&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<h3>5. &#27880;&#20876;&#36335;&#30001;<\/h3>\n<p>&#22312;&#20320;&#30340; <code>routes\/web.php<\/code> &#25991;&#20214;&#20013;&#27880;&#20876;&#23376;&#22495;&#21517;&#36335;&#30001;&#12290;<\/p>\n<pre><code class=\"language-php\">use AppHttpControllersSubdomainController;\n\nRoute::any('{subdomain}', [SubdomainController::class, 'handle'])-&gt;where('subdomain', '[a-zA-Z0-9-]+');<\/code><\/pre>\n<h3>6. &#27979;&#35797;&#23376;&#22495;<\/h3>\n<p>&#29616;&#22312;&#65292;&#20320;&#21487;&#20197;&#36890;&#36807;&#35775;&#38382; <code>http:\/\/sub.example.com<\/code> &#26469;&#27979;&#35797;&#20320;&#30340;&#23376;&#22495;&#36335;&#30001;&#12290;<\/p>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<p>&#20197;&#19979;&#26159;&#19968;&#20010;&#23436;&#25972;&#30340;&#31034;&#20363;&#20195;&#30721;&#65292;&#23637;&#31034;&#20102;&#22914;&#20309;&#22312; Laravel &#20013;&#23454;&#29616;&#23376;&#22495;&#36335;&#30001;&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ routes\/web.php\nuse AppHttpControllersSubdomainController;\n\nRoute::any('{subdomain}', [SubdomainController::class, 'handle'])-&gt;where('subdomain', '[a-zA-Z0-9-]+');\n\n\/\/ app\/Http\/Controllers\/SubdomainController.php\nnamespace AppHttpControllers;\n\nuse IlluminateHttpRequest;\n\nclass SubdomainController extends Controller\n{\n    public function handle(Request $request)\n    {\n        $subdomain = $request-&gt;getHttpHost();\n        switch ($subdomain) {\n            case 'example':\n                return view('subdomains.example');\n                break;\n            case 'about':\n                return view('subdomains.about');\n                break;\n            default:\n                return redirect('\/');\n        }\n    }\n}\n\n\/\/ resources\/views\/subdomains\/example.blade.php\n&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;\n    &lt;title&gt;Example Subdomain&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;h1&gt;Welcome to Example Subdomain!&lt;\/h1&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>&#36890;&#36807;&#20197;&#19978;&#27493;&#39588;&#65292;&#20320;&#21487;&#20197;&#22312; Laravel &#20013;&#25104;&#21151;&#23454;&#29616;&#21644;&#31649;&#29702;&#23376;&#22495;&#36335;&#30001;&#12290;&#24076;&#26395;&#36825;&#20010;&#25351;&#21335;&#23545;&#20320;&#26377;&#25152;&#24110;&#21161;&#65281;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--2\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/zp-400x300.jpg\" alt=\"&#40657;&#26495;Bug&#35762;&#24072;\" class=\"wp-image-1849\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#40657;&#26495;Bug&#35762;&#24072;<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<body><h2>&#20171;&#32461;<\/h2><p>&#36335;&#30001;&#22312;Web&#24212;&#29992;&#31243;&#24207;&#24320;&#21457;&#20013;&#33267;&#20851;&#37325;&#35201;&#65292;&#23427;&#24341;&#23548;&#29992;&#25143;&#35775;&#38382;&#24212;&#29992;&#30340;&#19981;&#21516;&#37096;&#20998;&#12290;&#34429;&#28982;&#22823;&#22810;&#25968;&#24320;&#21457;&#32773;&#23545;&#22522;&#26412;&#30340;&#36335;&#30001;&#30456;&#24403;&#29087;&#24713;&#65292;&#20294;&#23376;&#22495;&#21517;&#36335;&#30001;&#21487;&#20197;&#35299;&#38145;&#39640;&#32423;&#21151;&#33021;&#65292;&#23454;&#29616;&#21487;&#25193;&#23637;&#21644;&#32452;&#32455;&#33391;&#22909;&#30340;&#20195;&#30721;&#12290;&#22312;Laravel&#26694;&#26550;&#20013;&#65292;&#19968;&#20010;&#20197;&#20854;&#20248;&#38597;&#35821;&#27861;&#21644;&#24378;&#22823;&#21151;&#33021;&#32780;&#38395;&#21517;&#30340;PHP&#26694;&#26550;&#65292;&#23376;&#22495;&#21517;&#36335;&#30001;&#19981;&#20165;&#34987;&#25903;&#25345;&#65292;&#32780;&#19988;&#24456;&#23481;&#26131;&#23454;&#29616;&#12290;<\/p><p>&#26412;&#24320;&#21457;&#32773;&#25351;&#21335;&#23558;&#24102;&#20320;&#20102;&#35299;&#22312;Laravel&#20013;&#35774;&#32622;&#21644;&#20351;&#29992;&#23376;&#22495;&#21517;&#36335;&#30001;&#30340;&#27493;&#39588;&#65292;&#20174;&#31616;&#21333;&#30340;&#31034;&#20363;&#21040;&#26356;&#22797;&#26434;&#30340;&#22330;&#26223;&#12290;<\/p><p>&#21069;&#32622;&#26465;&#20214;<\/p><p>&#29702;&#35299;MVC&#65288;&#27169;&#22411;-&#35270;&#22270;-&#25511;&#21046;&#22120;&#65289;&#35774;&#35745;&#27169;&#24335;&#12290;<\/p><p>&#23545;PHP&#21644;&#22522;&#26412;&#30340;Laravel&#27010;&#24565;&#26377;&#20102;&#35299;&#12290;<\/p><p>&#19968;&#20010;&#24037;&#20316;&#29615;&#22659;&#30340;Laravel&#12290;<\/p><h2>&#22522;&#26412;&#30340;&#23376;&#22495;&#21517;&#36335;&#30001;<\/h2><p>&#22312;Laravel&#20013;&#35774;&#32622;&#23376;&#22495;&#21517;&#36335;&#30001;&#30456;&#24403;&#31616;&#21333;&#12290;&#23376;&#22495;&#21517;&#36335;&#30001;&#19982;&#24120;&#35268;&#36335;&#30001;&#31867;&#20284;&#65292;&#20294;&#26377;&#19968;&#20010;&#39069;&#22806;&#30340;domain&#38190;&#12290;<\/p><pre><code>\/\/ Add to routes\/web.php\nRoute::domain('{account}.myapp.com')-&gt;group(function () {\n    Route::get('\/', function ($account) {\n        \/\/ Logic for handling this route\n    });\n});\n<\/code><\/pre><p>&#36825;&#23450;&#20041;&#20102;&#19968;&#20010;&#36335;&#30001;&#32452;&#65292;&#35813;&#32452;&#21709;&#24212;&#20110;&ldquo;myapp.com&rdquo;&#19978;&#30340;&#20219;&#20309;&#23376;&#22495;&#21517;&#65292;&#24182;&#29992;&#23454;&#38469;&#30340;&#23376;&#22495;&#21517;&#26367;&#25442;{account}&#21442;&#25968;&#12290;<\/p><h2>&#20013;&#38388;&#20214;&#21644;&#23376;&#22495;&#36335;&#30001;<\/h2><p>&#23376;&#22495;&#36335;&#30001;&#19982;&#20013;&#38388;&#20214;&#24456;&#22909;&#22320;&#32467;&#21512;&#22312;&#19968;&#36215;&#12290;&#20013;&#38388;&#20214;&#21487;&#20197;&#24110;&#21161;&#24744;&#22788;&#29702;&#35832;&#22914;&#36523;&#20221;&#39564;&#35777;&#25110;&#23376;&#22495;&#21517;&#39564;&#35777;&#31561;&#26041;&#38754;&#30340;&#38382;&#39064;&#12290;<\/p><pre><code>\/\/ Define a middleware named 'subdomain'\nRoute::domain('{account}.myapp.com')-&gt;middleware('subdomain')-&gt;group(function () {\n    Route::get('\/', function ($account) {\n        \/\/ Logic for handling this route with middleware\n    });\n});\n<\/code><\/pre><p>&ldquo;&#23376;&#22495;&rdquo;&#20013;&#38388;&#20214;&#21487;&#33021;&#36127;&#36131;&#39564;&#35777;&#36134;&#25143;&#21517;&#31216;&#19982;&#25968;&#25454;&#24211;&#20013;&#30340;&#21305;&#37197;&#65292;&#25110;&#32773;&#35774;&#32622;&#31199;&#25143;&#29305;&#23450;&#30340;&#37197;&#32622;&#12290;<\/p><h2>RESTful&#25511;&#21046;&#22120;&#21644;&#23376;&#22495;<\/h2><p>Laravel&#25511;&#21046;&#22120;&#26377;&#21161;&#20110;&#32452;&#32455;&#19982;&#36335;&#30001;&#30456;&#20851;&#30340;&#36923;&#36753;&#12290;&#23427;&#20204;&#20063;&#25903;&#25345;&#23376;&#22495;&#36335;&#30001;&#12290;<\/p><pre><code>Route::domain('{account}.myapp.com')-&gt;group(function () {\n    Route::resource('posts', 'PostController');\n});\n<\/code><\/pre><p>&#35813;&#31034;&#20363;&#35828;&#26126;&#20102;&#22914;&#20309;&#22312;&#23376;&#22495;&#21517;&#19978;&#19979;&#25991;&#20013;&#21033;&#29992;RESTful&#25511;&#21046;&#22120;&#12290;<\/p><h2>&#23376;&#22495;&#21517;&#21644;&#36335;&#30001;&#27169;&#22411;&#32465;&#23450;<\/h2><p>laravel&#30340;&#36335;&#30001;&#27169;&#22411;&#32465;&#23450;&#21151;&#33021;&#20801;&#35768;&#33258;&#21160;&#35299;&#26512;&#19982;&#36335;&#30001;&#20851;&#32852;&#30340;Eloquent&#27169;&#22411;&#12290;&#36825;&#31181;&#26426;&#21046;&#19981;&#20165;&#36866;&#29992;&#20110;&#23376;&#22495;&#21517;&#36335;&#30001;&#65292;&#36824;&#33021;&#21033;&#29992;&#29305;&#23450;&#23376;&#22495;&#21517;&#19979;&#30340;&#27169;&#22411;&#12290;<\/p><pre><code>Route::domain('{account}.myapp.com')-&gt;group(function () {\n    Route::get('users\/{user}', function ($account, \nAppModelsUser $user) {\n        \/\/ User is automatically injected here by Laravel\n    });\n});\n<\/code><\/pre><p>&#22312;&#36825;&#20010;&#20363;&#23376;&#20013;&#65292;User&#27169;&#22411;&#21487;&#33021;&#21253;&#21547;&#36923;&#36753;&#26469;&#30830;&#20445;&#29992;&#25143;&#23646;&#20110;&#30001;&#23376;&#22495;&#20195;&#34920;&#30340;&#36134;&#25143;&#12290;<\/p><h2>&#39640;&#32423;&#23376;&#22495;&#36335;&#30001;<\/h2><p>&#22312;Laravel&#20013;&#65292;&#23376;&#22495;&#21517;&#36335;&#30001;&#21487;&#20197;&#23884;&#22871;&#24182;&#37197;&#32622;&#20197;&#22788;&#29702;&#26356;&#22797;&#26434;&#30340;&#22330;&#26223;&#12290;&#20856;&#22411;&#29992;&#20363;&#20043;&#19968;&#21487;&#33021;&#26159;&#22810;&#31199;&#25143;SaaS&#24212;&#29992;&#31243;&#24207;&#20013;&#30340;&#27599;&#20010;&#31199;&#25143;&#37117;&#25317;&#26377;&#19968;&#20010;&#29420;&#29305;&#30340;&#23376;&#22495;&#21517;&#12290;<\/p><pre><code>\/\/ Register a route for a specific subdomain\nRoute::domain('admin.myapp.com')-&gt;group(function () {\n    Route::get('\/', 'AdminController@index');\n});\n\n\/\/ Register a route for any other subdomain\nRoute::domain('{account}.myapp.com')-&gt;group(function () {\n    Route::get('\/', 'TenantController@index');\n});\n<\/code><\/pre><p>&#23376;&#22495;&#21517;&ldquo;admin&rdquo;&#21644;{account}&#20998;&#21035;&#22788;&#29702;&#65292;&#21487;&#33021;&#37325;&#29992;&#25511;&#21046;&#22120;&#20197;&#23454;&#29616;&#36890;&#29992;&#36923;&#36753;&#65292;&#21516;&#26102;&#22312;&#38656;&#35201;&#26102;&#25552;&#20379;&#28789;&#27963;&#24615;&#12290;<\/p><h2>&#32531;&#23384;&#23376;&#22495;&#21517;&#36335;&#30001;<\/h2><p>Laravel &#20801;&#35768;&#24744;&#32531;&#23384;&#24212;&#29992;&#30340;&#36335;&#30001;&#20197;&#25552;&#39640;&#24615;&#33021;&#12290;&#22312;&#20351;&#29992;&#23376;&#22495;&#21517;&#36335;&#30001;&#26102;&#65292;&#35831;&#30830;&#20445;&#21160;&#24577;&#23376;&#22495;&#21517;&#22312;&#32531;&#23384;&#21518;&#20173;&#33021;&#27491;&#24120;&#24037;&#20316;&#12290;<\/p><pre><code>php artisan route:cache\n<\/code><\/pre><p>&#22914;&#26524;&#23376;&#22495;&#21517;&#26159;&#21160;&#24577;&#30340;&#65292;&#37027;&#20040;&#21487;&#33021;&#38656;&#35201;&#25490;&#38500;&#23427;&#20204;&#20174;&#32531;&#23384;&#20013;&#21076;&#38500;&#25110;&#35880;&#24910;&#20351;&#29992;&#36335;&#30001;&#32531;&#23384;&#12290;<\/p><h2>&#32467;&#35770;&#12290;<\/h2><p>&#23376;&#22495;&#21517;&#36335;&#30001;&#22312;Laravel&#20013;&#26377;&#21161;&#20110;&#21019;&#24314;&#22810;&#31199;&#25143;&#24212;&#29992;&#65292;&#21487;&#20197;&#23548;&#33268;&#26356;&#26131;&#35835;&#21644;&#27169;&#22359;&#21270;&#30340;&#20195;&#30721;&#12290;&#19968;&#26086;&#24744;&#29702;&#35299;&#20102;&#22522;&#30784;&#30693;&#35782;&#65292;&#21019;&#24314;&#22797;&#26434;&#30340;&#12289;&#21151;&#33021;&#40784;&#20840;&#30340;&#24212;&#29992;&#31243;&#24207;&#23601;&#20250;&#21464;&#24471;&#26356;&#23481;&#26131;&#12290;&#25317;&#25265;&#36825;&#20010;&#26377;&#25928;&#30340;&#24037;&#20855;&#24182;&#37325;&#26500;&#24744;&#30340;&#24212;&#29992;&#31243;&#24207;&#20197;&#26356;&#22909;&#22320;&#20998;&#31163;&#39046;&#22495;&#36923;&#36753;&#21644;&#28165;&#26224;&#24230;&#12290;<\/p><\/body>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div><div class=\"wp-block-columns p-0 border is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-columns px-4 py-3 border-bottom has-background is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\" style=\"background:linear-gradient(243deg,rgb(238,238,238) 0%,rgba(58,166,242,0.15) 100%)\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-6c531013 wp-block-group-is-layout-flex\">\r\n<figure class=\"wp-block-image size-thumbnail is-resized is-style-rounded is-style-rounded--3\"><img decoding=\"async\" src=\"https:\/\/www.zhaozhao123.cn\/myitems\/images\/sites16\/2025\/06\/xygcfznnzczhsdmwydzhsmzzzmddnq-400x300.jpg\" alt=\"&#38271;&#24037;&#30721;&#22900;1523\" class=\"wp-image-2906\" style=\"object-fit:cover;width:30px;height:30px\"><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading my-0\" style=\"font-size:clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.175), 1rem);\">&#38271;&#24037;&#30721;&#22900;1523<\/h2>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<div class=\"wp-block-columns px-xl-5 px-4 py-xl-4 py-3 is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\r\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\r\n<p>&#23376;&#22495;&#36335;&#30001;&#26159; Laravel &#20013;&#30340;&#19968;&#31181;&#39640;&#32423;&#29305;&#24615;&#65292;&#23427;&#20801;&#35768;&#20320;&#22312;&#24212;&#29992;&#30340;&#21508;&#20010;&#37096;&#20998;&#20043;&#38388;&#24314;&#31435;&#36830;&#25509;&#12290;&#36825;&#20010;&#27010;&#24565;&#38750;&#24120;&#24378;&#22823;&#65292;&#21487;&#20197;&#35753;&#20320;&#36731;&#26494;&#22320;&#31649;&#29702;&#36335;&#30001;&#21644;&#25968;&#25454;&#12290;<\/p>\n<h3>&#36335;&#30001;&#27010;&#36848;<\/h3>\n<p>&#22312; Laravel &#20013;&#65292;&#36335;&#30001;&#36890;&#24120;&#34987;&#29992;&#26469;&#22788;&#29702; HTTP &#35831;&#27714;&#12290;&#20320;&#21487;&#20197;&#23450;&#20041;&#22810;&#20010;&#36335;&#30001;&#65292;&#27599;&#20010;&#36335;&#30001;&#23545;&#24212;&#20110;&#19968;&#20010;&#29305;&#23450;&#30340;&#34892;&#20026;&#65288;&#22914;&#26174;&#31034;&#39029;&#38754;&#12289;&#25191;&#34892;&#25805;&#20316;&#31561;&#65289;&#12290;&#28982;&#32780;&#65292;&#26377;&#26102;&#20505;&#20320;&#38656;&#35201;&#23558;&#35831;&#27714;&#36716;&#21457;&#21040;&#21478;&#19968;&#20010;&#36164;&#28304;&#65292;&#27604;&#22914;&#22312;&#19968;&#20010;&#23376;&#22495;&#19978;&#12290;&#36825;&#26102;&#65292;Laravel &#25552;&#20379;&#20102;&#23376;&#22495;&#36335;&#30001;&#21151;&#33021;&#12290;<\/p>\n<h3>&#21019;&#24314;&#23376;&#22495;&#36335;&#30001;<\/h3>\n<ol>\n<li>\n<p><strong>&#23433;&#35013; Laravel<\/strong>&#65306;&#39318;&#20808;&#30830;&#20445;&#20320;&#24050;&#32463;&#23433;&#35013;&#24182;&#37197;&#32622;&#22909; Laravel &#39033;&#30446;&#12290;<\/p>\n<\/li>\n<li>\n<p><strong>&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#25511;&#21046;&#22120;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ &#22312; `app\/Http\/Controllers` &#30446;&#24405;&#19979;&#21019;&#24314;&#19968;&#20010;&#26032;&#30340;&#25511;&#21046;&#22120;&#25991;&#20214;&#12290;<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#28155;&#21152;&#36335;&#30001;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpControllers;\n\nuse IlluminateSupportFacadesRoute;\n\nclass SubdomainController extends Controller\n{\n    public function showSubdomainPage()\n    {\n        return view('subdomain.show');\n    }\n\n    public function showSubdomainRoute()\n    {\n        return view('subdomain.route');\n    }\n}<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#37197;&#32622;&#36335;&#30001;<\/strong>&#65306;<\/p>\n<pre><code class=\"language-php\">\/\/ app\/Http\/Routes.php\nRoute::prefix('subdomain')-&gt;group(function () {\n   Route::get('\/show', 'SubdomainController@showSubdomainPage');\n   Route::get('\/route', 'SubdomainController@showSubdomainRoute');\n});<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>&#35775;&#38382;&#23376;&#22495;&#36335;&#30001;<\/strong>&#65306;<\/p>\n<ul>\n<li>&#35775;&#38382; <code>\/subdomain\/show<\/code> &#26469;&#26597;&#30475;&#40664;&#35748;&#39029;&#12290;<\/li>\n<li>&#35775;&#38382; <code>\/subdomain\/route<\/code> &#26469;&#26597;&#30475;&#33258;&#23450;&#20041;&#39029;&#12290;<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<pre><code class=\"language-html\">&lt;!DOCTYPE html&gt;\n&lt;html lang=\"en\"&gt;\n&lt;head&gt;\n    &lt;meta charset=\"UTF-8\"&gt;\n    &lt;title&gt;&#23376;&#22495;&#36335;&#30001;&#31034;&#20363;&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n\n&lt;h1&gt;&#23376;&#22495;&#36335;&#30001;&#31034;&#20363;&lt;\/h1&gt;\n\n&lt;a href=\"{{ route('subdomain.show') }}\"&gt;&#28857;&#20987;&#36825;&#37324;&#35775;&#38382;&#23376;&#22495;&#39318;&#39029;&lt;\/a&gt;\n&lt;br&gt;&lt;br&gt;\n\n&lt;h2&gt;&#33258;&#23450;&#20041;&#23376;&#22495;&#36335;&#30001;&lt;\/h2&gt;\n\n&lt;a href=\"{{ route('subdomain.route') }}\"&gt;&#28857;&#20987;&#36825;&#37324;&#35775;&#38382;&#33258;&#23450;&#20041;&#23376;&#22495;&#36335;&#30001;&lt;\/a&gt;\n\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<h3>&#31034;&#20363;&#20195;&#30721;<\/h3>\n<h4>&#20351;&#29992; Laravel 5.6 &#30340;&#31034;&#20363;<\/h4>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpControllers;\n\nuse IlluminateHttpRequest;\n\nclass SubdomainController extends Controller\n{\n    \/**\n     * Show the application dashboard.\n     *\n     * @return IlluminateContractsViewFactory|IlluminateViewView\n     *\/\n    public function showSubdomainPage()\n    {\n        return view('subdomain.show');\n    }\n\n    \/**\n     * Show the subdomain route page.\n     *\n     * @return IlluminateContractsViewFactory|IlluminateViewView\n     *\/\n    public function showSubdomainRoute()\n    {\n        return view('subdomain.route');\n    }\n}<\/code><\/pre>\n<h4>&#20351;&#29992; Laravel 8 &#30340;&#31034;&#20363;<\/h4>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace AppHttpControllers;\n\nuse IlluminateHttpRequest;\n\nclass SubdomainController extends Controller\n{\n    \/**\n     * Display a listing of the resource.\n     *\n     * @return IlluminateHttpResponse\n     *\/\n    public function index(Request $request)\n    {\n        \/\/ Handle your request here...\n    }\n\n    \/**\n     * Show the form for creating a new resource.\n     *\n     * @return IlluminateHttpResponse\n     *\/\n    public function create()\n    {\n        \/\/ Handle your creation form here...\n    }\n\n    \/**\n     * Store a newly created resource in storage.\n     *\n     * @param  IlluminateHttpRequest  $request\n     * @return IlluminateHttpResponse\n     *\/\n    public function store(Request $request)\n    {\n        \/\/ Store your resource here...\n    }\n\n    \/**\n     * Display the specified resource.\n     *\n     * @param  int  $id\n     * @return IlluminateHttpResponse\n     *\/\n    public function show($id)\n    {\n        \/\/ Handle your show resource here...\n    }\n\n    \/**\n     * Show the form for editing the specified resource.\n     *\n     * @param  int  $id\n     * @return IlluminateHttpResponse\n     *\/\n    public function edit($id)\n    {\n        \/\/ Handle your edit form here...\n    }\n\n    \/**\n     * Update the specified resource in storage.\n     *\n     * @param  IlluminateHttpRequest  $request\n     * @param  int  $id\n     * @return IlluminateHttpResponse\n     *\/\n    public function update(Request $request, $id)\n    {\n        \/\/ Update your resource here...\n    }\n\n    \/**\n     * Remove the specified resource from storage.\n     *\n     * @param  int  $id\n     * @return IlluminateHttpResponse\n     *\/\n    public function destroy($id)\n    {\n        \/\/ Delete your resource here...\n    }\n}<\/code><\/pre>\n<h3>&#24635;&#32467;<\/h3>\n<p>&#36890;&#36807;&#19978;&#36848;&#31034;&#20363;&#65292;&#25105;&#20204;&#21487;&#20197;&#30475;&#21040;&#22914;&#20309;&#22312; Laravel &#20013;&#20351;&#29992;&#23376;&#22495;&#36335;&#30001;&#26469;&#23454;&#29616;&#21160;&#24577;&#36335;&#30001;&#12290;&#36825;&#19981;&#20165;&#22686;&#24378;&#20102;&#24212;&#29992;&#31243;&#24207;&#30340;&#28789;&#27963;&#24615;&#65292;&#32780;&#19988;&#20063;&#20351;&#24471;&#20195;&#30721;&#26356;&#20855;&#21487;&#35835;&#24615;&#21644;&#32500;&#25252;&#24615;&#12290;<\/p>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Bug&#32534;&#35793;&#29422; &#26631;&#39064;&#65306;Laravel &#23376;&#22495;&#36335;&#30001;&#65306;&#24320;&#21457;&#32773;&#25351;&#21335; &#23376;&#22495;&#038;#2..<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"template":"","meta":{"_acf_changed":false},"tags":[],"my1js2nav":[44],"tuisongtax":[],"class_list":["post-754","my1js","type-my1js","status-publish","hentry","my1js2nav-laravel"],"acf":{"qian_art_seotitle":"","qian_art_seotitle_source":{"label":"SEO\u6807\u9898","type":"text","formatted_value":""},"qian_art_seokws":"","qian_art_seokws_source":{"label":"SEO\u5173\u952e\u8bcd","type":"text","formatted_value":""},"qian_art_stzhong":"","qian_art_stzhong_source":{"label":"\u4e2d | \u77ed\u6807\u9898","type":"text","formatted_value":""}},"_links":{"self":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js\/754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js"}],"about":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/types\/my1js"}],"author":[{"embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/media?parent=754"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tags?post=754"},{"taxonomy":"my1js2nav","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/my1js2nav?post=754"},{"taxonomy":"tuisongtax","embeddable":true,"href":"https:\/\/www.zhaozhao123.cn\/php\/wp-json\/wp\/v2\/tuisongtax?post=754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}