0

我有这个特定于域的路由:

Route::group(['domain' => '{account}.mysystem.dev'], function()
{
    Route::get('/', function($account)
    {
        return sprintf('Hello %s', $account);
    });
});

我不想自己创建子域,而是将所有子域(*.mysystem.dev)交给 Laravel 来处理。

在我的 MAMP Pro 面板中,我在扩展选项卡的字段中尝试了这个Additional parameters for <VirtualHost>

ServerAlias mysystem.dev *.mysystem.dev

然而它不起作用。

如果我在常规选项卡中添加别名,就像allendar.mysystem.dev它会将我引导到mysystem.dev指令一样,但 Laravel 不会选择它,因为它是.mysystem.dev. 我认为这与 Alias 实际上不是子域有关,但我不确定。

我怎么能解决这个问题?

4

2 回答 2

2

我通过网络上的一些文档解决了这个问题:

这需要两个步骤;第一步是使用.local子域设置 dnsmasq。它会侦听.local4.eg中的每个域,*.something.local.但也http://localstackoverflow.local您可以这样做.dev

brew install dnsmasq

cd $(brew --prefix); mkdir etc; echo 'address=/.local/127.0.0.1' > etc/dnsmasq.conf

sudo cp -v $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons

sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

sudo mkdir /etc/resolver

sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/local'

下一步是配置 MAMP 以通过主配置将任何通配符传递到子域;做这个:

按着这些次序

  1. 打开 MAMP Pro
  2. 转到:文件 -> 编辑模板 -> Apache -> httpd.conf
  3. 搜索此行:ServerName MAMP_VirtualHost_ServerName_MAMP
  4. 在它下面直接添加:ServerAlias *.MAMP_VirtualHost_ServerName_MAMP
  5. ServerAlias *.yourdomain.local在添加主机的指令下添加到 Apache
  6. 重新启动 MAMP。
于 2018-02-26T13:47:16.537 回答
0

您不能添加通配符子域,因为它们不在 /etc/hosts 中。

https://wordpress.stackexchange.com/questions/57160/wp-multisite-development-with-mamp-pro-and-wildcard-subdomains-not-really-worki

您必须手动添加它们,例如 2 -3 进行测试,或者创建单独的 test1.mysystem.dev 和 test2.mysystem.dev 仅用于测试。

于 2014-10-08T14:30:07.570 回答