如何在Laravel中动态创建子域?

Vah*_*rty 10 php apache subdomain hosts laravel

在我的Windows/System32/drivers/etc/hosts中,我有这个:

127.0.0.1   localhost
127.0.0.1   site.dev
127.0.0.1   *.site.dev
Run Code Online (Sandbox Code Playgroud)

在我的xampp/apache/conf/extra/httpd-vhost中,我有这个:

<VirtualHost site.dev>  
  DocumentRoot "C:/xampp_7/htdocs/"
  <Directory "C:/xampp_7/htdocs/">
  </Directory>
</VirtualHost>
<VirtualHost *.site.dev>  
  DocumentRoot "C:/xampp_7/htdocs/"
  <Directory "C:/xampp_7/htdocs/">
  </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

现在,如果我要运行http://site.dev/project/public,它正在运行.我有这个路由命令:

Route::group(['domain' => '{subdomain}.site.dev'], function($subdomain) {
    return $subdomain;
});
Run Code Online (Sandbox Code Playgroud)

如果我打开http://sub.site.dev/startscript/public/,我会收到"无法访问此站点"的错误.

该程序的功能是它可以创建子目录.例如,我有一个商业网站.我可以像这样访问/创建.

inventory.mybusiness.com
sales.mybusiness.com
ad.mybusiness.com
Run Code Online (Sandbox Code Playgroud)

Vah*_*rty 13

我已经解决了.我从这个答案中使用了Acyrlic DNS Proxy.查看以下链接,您将找到答案.

https://laracasts.com/discuss/channels/general-discussion/dynamic-sub-domain-creation-on-new-user-registration-in-laravel-5-and-wampserver

那么

Route::group(['domain' => '{account}.dns.dev'], function () {
    Route::get('/', function ($account) {
        return $account;
    });
});
Run Code Online (Sandbox Code Playgroud)

现在正在工作.